Multi-Timeframe Parabolic SAR Strategy ver 1.0Multi-Timeframe Parabolic SAR Strategy (MTF PSAR) - Enhanced Trend Trading
This strategy leverages the power of the Parabolic SAR (Stop and Reverse) indicator across multiple timeframes to provide robust trend identification, precise entry/exit signals, and dynamic trailing stop management. By combining the insights of both the current chart's timeframe and a user-defined higher timeframe, this strategy aims to improve trading accuracy, reduce risk, and capture more significant market moves.
Key Features:
Dual Timeframe Analysis: Simultaneously analyzes the Parabolic SAR on the current chart and a higher timeframe (e.g., Daily PSAR on a 1-hour chart). This allows you to align your trades with the dominant trend and filter out noise from lower timeframes.
Configurable PSAR: Fine-tune the PSAR calculation with adjustable Start, Increment, and Maximum values to optimize sensitivity for your trading style and the asset's volatility.
Independent Timeframe Control: Choose to display and trade based on either or both the current timeframe PSAR and the higher timeframe PSAR. Focus on the most relevant information for your analysis.
Clear Visual Signals: Distinct colors for the current and higher timeframe PSAR dots provide a clear visual representation of potential entry and exit points.
Multiple Entry Strategies: The strategy offers flexible entry conditions, allowing you to trade based on:
Confirmation: Both current and higher timeframe PSAR signals agree and the current timeframe PSAR has just flipped direction. (Most conservative)
Current Timeframe Only: Trades based solely on the current timeframe PSAR, ideal for when the higher timeframe is less relevant or disabled.
Higher Timeframe Only: Trades based solely on the higher timeframe PSAR.
Dynamic Trailing Stop (PSAR-Based): Implements a trailing stop-loss based on the current timeframe's Parabolic SAR. This helps protect profits by automatically adjusting the stop-loss as the price moves in your favor. Exits are triggered when either the current or HTF PSAR flips.
No Repainting: Uses lookahead=barmerge.lookahead_off in the security() function to ensure that the higher timeframe data is accessed without any data leakage, preventing repainting issues.
Fully Configurable: All parameters (PSAR settings, higher timeframe, visibility, colors) are adjustable through the strategy's settings panel, allowing for extensive customization and optimization.
Suitable for Various Trading Styles: Applicable to swing trading, day trading, and trend-following strategies across various markets (stocks, forex, cryptocurrencies, etc.).
How it Works:
PSAR Calculation: The strategy calculates the standard Parabolic SAR for both the current chart's timeframe and the selected higher timeframe.
Trend Identification: The direction of the PSAR (dots below price = uptrend, dots above price = downtrend) determines the current trend for each timeframe.
Entry Signals: The strategy generates buy/sell signals based on the chosen entry strategy (Confirmation, Current Timeframe Only, or Higher Timeframe Only). The Confirmation strategy offers the highest probability signals by requiring agreement between both timeframes.
Trailing Stop Exit: Once a position is entered, the strategy uses the current timeframe PSAR as a dynamic trailing stop. The stop-loss is automatically adjusted as the PSAR dots move, helping to lock in profits and limit losses. The strategy exits when either the Current or HTF PSAR changes direction.
Backtesting and Optimization: The strategy automatically backtests on the chart's historical data, allowing you to evaluate its performance and optimize the settings for different assets and timeframes.
Example Use Cases:
Trend Confirmation: A trader on a 1-hour chart observes a bullish PSAR flip on the current timeframe. They check the MTF PSAR strategy and see that the Daily PSAR is also bullish, confirming the strength of the uptrend and providing a high-probability long entry signal.
Filtering Noise: A trader on a 5-minute chart wants to avoid whipsaws caused by short-term price fluctuations. They use the strategy with a 1-hour higher timeframe to filter out noise and only trade in the direction of the dominant trend.
Dynamic Risk Management: A trader enters a long position and uses the current timeframe PSAR as a trailing stop. As the price rises, the PSAR dots move upwards, automatically raising the stop-loss and protecting profits. The trade is exited when the current (or HTF) PSAR flips to bearish.
Disclaimer:
The Parabolic SAR is a lagging indicator and can produce false signals, particularly in ranging or choppy markets. This strategy is intended for educational and informational purposes only and should not be considered financial advice. It is essential to backtest and optimize the strategy thoroughly, use it in conjunction with other technical analysis tools, and implement sound risk management practices before using it with real capital. Past performance is not indicative of future results. Always conduct your own due diligence and consider your risk tolerance before making any trading decisions.
在腳本中搜尋"the strat"
Strategy SuperTrend SDI WebhookThis Pine Script™ strategy is designed for automated trading in TradingView. It combines the SuperTrend indicator and Smoothed Directional Indicator (SDI) to generate buy and sell signals, with additional risk management features like stop loss, take profit, and trailing stop. The script also includes settings for leverage trading, equity-based position sizing, and webhook integration.
Key Features
1. Date-based Trade Execution
The strategy is active only between the start and end dates set by the user.
times ensures that trades occur only within this predefined time range.
2. Position Sizing and Leverage
Uses leverage trading to adjust position size dynamically based on initial equity.
The user can set leverage (leverage) and percentage of equity (usdprcnt).
The position size is calculated dynamically (initial_capital) based on account performance.
3. Take Profit, Stop Loss, and Trailing Stop
Take Profit (tp): Defines the target profit percentage.
Stop Loss (sl): Defines the maximum allowable loss per trade.
Trailing Stop (tr): Adjusts dynamically based on trade performance to lock in profits.
4. SuperTrend Indicator
SuperTrend (ta.supertrend) is used to determine the market trend.
If the price is above the SuperTrend line, it indicates an uptrend (bullish).
If the price is below the SuperTrend line, it signals a downtrend (bearish).
Plots visual indicators (green/red lines and circles) to show trend changes.
5. Smoothed Directional Indicator (SDI)
SDI helps to identify trend strength and momentum.
It calculates +DI (bullish strength) and -DI (bearish strength).
If +DI is higher than -DI, the market is considered bullish.
If -DI is higher than +DI, the market is considered bearish.
The background color changes based on the SDI signal.
6. Buy & Sell Conditions
Long Entry (Buy) Conditions:
SDI confirms an uptrend (+DI > -DI).
SuperTrend confirms an uptrend (price crosses above the SuperTrend line).
Short Entry (Sell) Conditions:
SDI confirms a downtrend (+DI < -DI).
SuperTrend confirms a downtrend (price crosses below the SuperTrend line).
Optionally, trades can be filtered using crossovers (occrs option).
7. Trade Execution and Exits
Market entries:
Long (strategy.entry("Long")) when conditions match.
Short (strategy.entry("Short")) when bearish conditions are met.
Trade exits:
Uses predefined take profit, stop loss, and trailing stop levels.
Positions are closed if the strategy is out of the valid time range.
Usage
Automated Trading Strategy:
Can be integrated with webhooks for automated execution on supported trading platforms.
Trend-Following Strategy:
Uses SuperTrend & SDI to identify trend direction and strength.
Risk-Managed Leverage Trading:
Supports position sizing, stop losses, and trailing stops.
Backtesting & Optimization:
Can be used for historical performance analysis before deploying live.
Conclusion
This strategy is suitable for traders who want to automate their trading using SuperTrend and SDI indicators. It incorporates risk management tools like stop loss, take profit, and trailing stop, making it adaptable for leverage trading. Traders can customize settings, conduct backtests, and integrate it with webhooks for real-time trade execution. 🚀
Important Note:
This script is provided for educational and template purposes and does not constitute financial advice. Traders and investors should conduct their research and analysis before making any trading decisions.
[3Commas] HA & MAHA & MA
🔷What it does: This tool is designed to test a trend-following strategy using Heikin Ashi candles and moving averages. It enters trades after pullbacks, aiming to let profits run once the risk-to-reward ratio reaches 1:1 while securing the position.
🔷Who is it for: It is ideal for traders looking to compare final results using fixed versus dynamic take profits by adjusting parameters and trade direction—a concept applicable to most trading strategies.
🔷How does it work: We use moving averages to define the market trend, then wait for opposite Heikin Ashi candles to form against it. Once these candles reverse in favor of the trend, we enter the trade, using the last swing created by the pullback as the stop loss. By applying the breakeven ratio, we protect the trade and let it run, using the slower moving average as a trailing stop.
A buy signal is generated when:
The previous candle is bearish (ha_bear ), indicating a pullback.
The fast moving average (ma1) is above the slow moving average (ma2), confirming an uptrend.
The current candle is bullish (ha_bull), showing trend continuation.
The Heikin Ashi close is above the fast moving average (ma1), reinforcing the bullish bias.
The real price close is above the open (close > open), ensuring bullish momentum in actual price data.
The signal is confirmed on the closed candle (barstate.isconfirmed) to avoid premature signals.
dir is undefined (na(dir)), preventing repeated signals in the same direction.
A sell signal is generated when:
The previous candle is bullish (ha_bull ), indicating a temporary upward move before a potential reversal.
The fast moving average (ma1) is below the slow moving average (ma2), confirming a downtrend.
The current candle is bearish (ha_bear), showing trend continuation to the downside.
The Heikin Ashi close is below the fast moving average (ma1), reinforcing bearish pressure.
The real price close is below the open (close < open), confirming bearish momentum in actual price data.
The signal is confirmed after the candle closes (barstate.isconfirmed), avoiding premature entries.
dir is undefined (na(dir)), preventing consecutive signals in the same direction.
In simple terms, this setup looks for trend continuation after a pullback, confirming entries with both Heikin Ashi and real price action, supported by moving average alignment to avoid false signals.
If the price reaches a 1:1 risk-to-reward ratio, the stop will be moved to the entry point. However, if the slow moving average surpasses this level, it will become the new exit point, acting as a trailing stop
🔷Why It’s Unique
Easily visualizes the benefits of using risk-to-reward ratios when trading instead of fixed percentages.
Provides a simple and straightforward approach to trading, embracing the "keep it simple" concept.
Offers clear visualization of DCA Bot entry and exit points based on user preferences.
Includes an option to review the message format before sending signals to bots, with compatibility for multi-pair and futures contract pairs.
🔷 Considerations Before Using the Indicator
⚠️Very important: The indicator must be used on charts with real price data, such as Japanese candlesticks, line charts, etc. Do not use it on Heikin Ashi charts, as this may lead to unrealistic results.
🔸Since this is a trend-following strategy, use it on timeframes above 4 hours, where market noise is reduced and trends are clearer. Also, carefully review the statistics before using it, focusing on pairs that tend to have long periods of well-defined trends.
🔸Disadvantages:
False Signals in Ranges: Consolidating markets can generate unreliable signals.
Lagging Indicator: Being based on moving averages, it may react late to sudden price movements.
🔸Advantages:
Trend Focused: Simplifies the identification of trending markets.
Noise Reduction: Uses Heikin Ashi candles to identify trend continuation after pullbacks.
Broad Applicability: Suitable for forex, crypto, stocks, and commodities.
🔸The strategy provides a systematic way to analyze markets but does not guarantee successful outcomes. Use it as an additional tool rather than relying solely on an automated system.
Trading results depend on various factors, including market conditions, trader discipline, and risk management. Past performance does not ensure future success, so always approach the market cautiously.
🔸Risk Management: Define stop-loss levels, position sizes, and profit targets before entering any trade. Be prepared for potential losses and ensure your approach aligns with your overall trading plan.
🔷 STRATEGY PROPERTIES
Symbol: BINANCE:BTCUSDT (Spot).
Timeframe: 4h.
Test Period: All historical data available.
Initial Capital: 10000 USDT.
Order Size per Trade: 1% of Capital, you can use a higher value e.g. 5%, be cautious that the Max Drawdown does not exceed 10%, as it would indicate a very risky trading approach.
Commission: Binance commission 0.1%, adjust according to the exchange being used, lower numbers will generate unrealistic results. By using low values e.g. 5%, it allows us to adapt over time and check the functioning of the strategy.
Slippage: 5 ticks, for pairs with low liquidity or very large orders, this number should be increased as the order may not be filled at the desired level.
Margin for Long and Short Positions: 100%.
Indicator Settings: Default Configuration.
MA1 Length: 9.
MA2 Length: 18.
MA Calculations: EMA.
Take Profit Ratio: Disable. Ratio 1:4.
Breakeven Ratio: Enable, Ratio 1:1.
Strategy: Long & Short.
🔷 STRATEGY RESULTS
⚠️Remember, past results do not guarantee future performance.
Net Profit: +324.88 USDT (+3.25%).
Max Drawdown: -81.18 USDT (-0.78%).
Total Closed Trades: 672.
Percent Profitable: 35.57%.
Profit Factor: 1.347.
Average Trade: +0.48 USDT (+0.48%).
Average # Bars in Trades: 13.
🔷 HOW TO USE
🔸 Adjust Settings:
The default values—MA1 (9) and MA2 (18) with EMA calculation—generally work well. However, you can increase these values, such as 20 and 40, to better identify stronger trends.
🔸 Choose a Symbol that Typically Trends:
Select an asset that tends to form clear trends. Keep in mind that the Strategy Tester results may show poor performance for certain assets, making them less suitable for sending signals to bots.
🔸 Experiment with Ratios:
Test different take profit and breakeven ratios to compare various scenarios—especially to observe how the strategy performs when only the trade is protected.
🔸This is an example of how protecting the trade works: once the price moves in favor of the position with a 1:1 risk-to-reward ratio, the stop loss is moved to the entry price. If the Slow MA surpasses this level, it will act as a trailing stop, aiming to follow the trend and maximize potential gains.
🔸In contrast, in this example, for the same trade, if we set a take profit at a 1:3 risk-to-reward ratio—which is generally considered a good risk-reward relationship—we can see how a significant portion of the upward move is left on the table.
🔸Results Review:
It is important to check the Max Drawdown. This value should ideally not exceed 10% of your capital. Consider adjusting the trade size to ensure this threshold is not surpassed.
Remember to include the correct values for commission and slippage according to the symbol and exchange where you are conducting the tests. Otherwise, the results will not be realistic.
If you are satisfied with the results, you may consider automating your trades. However, it is strongly recommended to use a small amount of capital or a demo account to test proper execution before committing real funds.
🔸Create alerts to trigger the DCA Bot:
Verify Messages: Ensure the message matches the one specified by the DCA Bot.
Multi-Pair Configuration: For multi-pair setups, enable the option to add the symbol in the correct format.
Signal Settings: Enable whether you want to receive long or short signals (Entry | TP | SL), copy and paste the the messages for the DCA Bots configured.
Alert Setup:
When creating an alert, set the condition to the indicator and choose "alert() function call only.
Enter any desired Alert Name.
Open the Notifications tab, enable Webhook URL, and paste the Webhook URL.
For more details, refer to the section: "How to use TradingView Custom Signals".
Finalize Alerts: Click Create, you're done! Alerts will now be sent automatically in the correct format.
🔷 INDICATOR SETTINGS
MA 1: Fast MA Length
MA 2: Slow MA Length
MA Calc: MA's Calculations (SMA,EMA, RMA,WMA)
TP Ratio: This is the take profit ratio relative to the stop loss, where the trade will be closed in profit.
BE Ratio: This is the breakeven ratio relative to the stop loss, where the stop loss will be updated to breakeven or if the MA2 is greater than this level.
Strategy: Order Type direction in which trades are executed.
Use Custom Test Period: When enabled signals only works in the selected time window. If disabled it will use all historical data available on the chart.
Test Start and End: Once the Custom Test Period is enabled, here you select the start and end date that you want to analyze.
Check Messages: Enable the table to review the messages to be sent to the bot.
Entry | TP | SL: Enable this options to send Buy Entry, Take Profit (TP), and Stop Loss (SL) signals.
Deal Entry and Deal Exit : Copy and paste the message for the deal start signal and close order at Market Price of the DCA Bot. This is the message that will be sent with the alert to the Bot, you must verify that it is the same as the bot so that it can process properly so that it executes and starts the trade.
DCA Bot Multi-Pair: You must activate it if you want to use the signals in a DCA Bot Multi-pair in the text box you must enter (using the correct format) the symbol in which you are creating the alert, you can check the format of each symbol when you create the bot.
👨🏻💻💭 We hope this tool helps enhance your trading. Your feedback is invaluable, so feel free to share any suggestions for improvements or new features you'd like to see implemented.
__
The information and publications within the 3Commas TradingView account are not meant to be and do not constitute financial, investment, trading, or other types of advice or recommendations supplied or endorsed by 3Commas and any of the parties acting on behalf of 3Commas, including its employees, contractors, ambassadors, etc.
AO/AC Trading Zones Strategy [Skyrexio] Overview
AO/AC Trading Zones Strategy leverages the combination of Awesome Oscillator (AO), Acceleration/Deceleration Indicator (AC), Williams Fractals, Williams Alligator and Exponential Moving Average (EMA) to obtain the high probability long setups. Moreover, strategy uses multi trades system, adding funds to long position if it considered that current trend has likely became stronger. Combination of AO and AC is used for creating so-called trading zones to create the signals, while Alligator and Fractal are used in conjunction as an approximation of short-term trend to filter them. At the same time EMA (default EMA's period = 100) is used as high probability long-term trend filter to open long trades only if it considers current price action as an uptrend. More information in "Methodology" and "Justification of Methodology" paragraphs. The strategy opens only long trades.
Unique Features
No fixed stop-loss and take profit: Instead of fixed stop-loss level strategy utilizes technical condition obtained by Fractals and Alligator to identify when current uptrend is likely to be over. In some special cases strategy uses AO and AC combination to trail profit (more information in "Methodology" and "Justification of Methodology" paragraphs)
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Multilayer trades opening system: strategy uses only 10% of capital in every trade and open up to 5 trades at the same time if script consider current trend as strong one.
Short and long term trend trade filters: strategy uses EMA as high probability long-term trend filter and Alligator and Fractal combination as a short-term one.
Methodology
The strategy opens long trade when the following price met the conditions:
1. Price closed above EMA (by default, period = 100). Crossover is not obligatory.
2. Combination of Alligator and Williams Fractals shall consider current trend as an upward (all details in "Justification of Methodology" paragraph)
3. Both AC and AO shall print two consecutive increasing values. At the price candle close which corresponds to this condition algorithm opens the first long trade with 10% of capital.
4. If combination of Alligator and Williams Fractals shall consider current trend has been changed from up to downtrend, all long trades will be closed, no matter how many trades has been opened.
5. If AO and AC both continue printing the rising values strategy opens the long trade on each candle close with 10% of capital while number of opened trades reaches 5.
6. If AO and AC both has printed 5 rising values in a row algorithm close all trades if candle's low below the low of the 5-th candle with rising AO and AC values in a row.
Script also has additional visuals. If second long trade has been opened simultaneously the Alligator's teeth line is plotted with the green color. Also for every trade in a row from 2 to 5 the label "Buy More" is also plotted just below the teeth line. With every next simultaneously opened trade the green color of the space between teeth and price became less transparent.
Strategy settings
In the inputs window user can setup strategy setting:
EMA Length (by default = 100, period of EMA, used for long-term trend filtering EMA calculation).
User can choose the optimal parameters during backtesting on certain price chart.
Justification of Methodology
Let's explore the key concepts of this strategy and understand how they work together. We'll begin with the simplest: the EMA.
The Exponential Moving Average (EMA) is a type of moving average that assigns greater weight to recent price data, making it more responsive to current market changes compared to the Simple Moving Average (SMA). This tool is widely used in technical analysis to identify trends and generate buy or sell signals. The EMA is calculated as follows:
1.Calculate the Smoothing Multiplier:
Multiplier = 2 / (n + 1), Where n is the number of periods.
2. EMA Calculation
EMA = (Current Price) × Multiplier + (Previous EMA) × (1 − Multiplier)
In this strategy, the EMA acts as a long-term trend filter. For instance, long trades are considered only when the price closes above the EMA (default: 100-period). This increases the likelihood of entering trades aligned with the prevailing trend.
Next, let’s discuss the short-term trend filter, which combines the Williams Alligator and Williams Fractals. Williams Alligator
Developed by Bill Williams, the Alligator is a technical indicator that identifies trends and potential market reversals. It consists of three smoothed moving averages:
Jaw (Blue Line): The slowest of the three, based on a 13-period smoothed moving average shifted 8 bars ahead.
Teeth (Red Line): The medium-speed line, derived from an 8-period smoothed moving average shifted 5 bars forward.
Lips (Green Line): The fastest line, calculated using a 5-period smoothed moving average shifted 3 bars forward.
When the lines diverge and align in order, the "Alligator" is "awake," signaling a strong trend. When the lines overlap or intertwine, the "Alligator" is "asleep," indicating a range-bound or sideways market. This indicator helps traders determine when to enter or avoid trades.
Fractals, another tool by Bill Williams, help identify potential reversal points on a price chart. A fractal forms over at least five consecutive bars, with the middle bar showing either:
Up Fractal: Occurs when the middle bar has a higher high than the two preceding and two following bars, suggesting a potential downward reversal.
Down Fractal: Happens when the middle bar shows a lower low than the surrounding two bars, hinting at a possible upward reversal.
Traders often use fractals alongside other indicators to confirm trends or reversals, enhancing decision-making accuracy.
How do these tools work together in this strategy? Let’s consider an example of an uptrend.
When the price breaks above an up fractal, it signals a potential bullish trend. This occurs because the up fractal represents a shift in market behavior, where a temporary high was formed due to selling pressure. If the price revisits this level and breaks through, it suggests the market sentiment has turned bullish.
The breakout must occur above the Alligator’s teeth line to confirm the trend. A breakout below the teeth is considered invalid, and the downtrend might still persist. Conversely, in a downtrend, the same logic applies with down fractals.
In this strategy if the most recent up fractal breakout occurs above the Alligator's teeth and follows the last down fractal breakout below the teeth, the algorithm identifies an uptrend. Long trades can be opened during this phase if a signal aligns. If the price breaks a down fractal below the teeth line during an uptrend, the strategy assumes the uptrend has ended and closes all open long trades.
By combining the EMA as a long-term trend filter with the Alligator and fractals as short-term filters, this approach increases the likelihood of opening profitable trades while staying aligned with market dynamics.
Now let's talk about the trading zones concept and its signals. To understand this we need to briefly introduce what is AO and AC. The Awesome Oscillator (AO), developed by Bill Williams, is a momentum indicator designed to measure market momentum by contrasting recent price movements with a longer-term historical perspective. It helps traders detect potential trend reversals and assess the strength of ongoing trends.
The formula for AO is as follows:
AO = SMA5(Median Price) − SMA34(Median Price)
where:
Median Price = (High + Low) / 2
SMA5 = 5-period Simple Moving Average of the Median Price
SMA 34 = 34-period Simple Moving Average of the Median Price
The Acceleration/Deceleration (AC) Indicator, introduced by Bill Williams, measures the rate of change in market momentum. It highlights shifts in the driving force of price movements and helps traders spot early signs of trend changes. The AC Indicator is particularly useful for identifying whether the current momentum is accelerating or decelerating, which can indicate potential reversals or continuations. For AC calculation we shall use the AO calculated above is the following formula:
AC = AO − SMA5(AO) , where SMA5(AO)is the 5-period Simple Moving Average of the Awesome Oscillator
When the AC is above the zero line and rising, it suggests accelerating upward momentum.
When the AC is below the zero line and falling, it indicates accelerating downward momentum.
When the AC is below zero line and rising it suggests the decelerating the downtrend momentum. When AC is above the zero line and falling, it suggests the decelerating the uptrend momentum.
Now let's discuss the trading zones concept and how it can create the signal. Zones are created by the combination of AO and AC. We can divide three zone types:
Greed zone: when the AO and AC both are rising
Red zone: when the AO and AC both are decreasing
Gray zone: when one of AO or AC is rising, the other is falling
Gray zone is considered as uncertainty. AC and AO are moving in the opposite direction. Strategy skip such price action to decrease the chance to stuck in the losing trade during potential sideways. Red zone is also not interesting for the algorithm because both indicators consider the trend as bearish, but strategy opens only long trades. It is waiting for the green zone to increase the chance to open trade in the direction of the potential uptrend. When we have 2 candles in a row in the green zone script executes a long trade with 10% of capital.
Two green zone candles in a row is considered by algorithm as a bullish trend, but now so strong, that's the reason why trade is going to be closed when the combination of Alligator and Fractals will consider the the trend change from bullish to bearish. If id did not happens, algorithm starts to count the green zone candles in a row. When we have 5 in a row script change the trade closing condition. Such situation is considered is a high probability strong bull market and all trades will be closed if candle's low will be lower than fifth green zone candle's low. This is used to increase probability to secure the profit. If long trades are initiated, the strategy continues utilizing subsequent signals until the total number of trades reaches a maximum of 5. Each trade uses 10% of capital.
Why we use trading zones signals? If currently strategy algorithm considers the high probability of the short-term uptrend with the Alligator and Fractals combination pointed out above and the long-term trend is also suggested by the EMA filter as bullish. Rising AC and AO values in the direction of the most likely main trend signaling that we have the high probability of the fastest bullish phase on the market. The main idea is to take part in such rapid moves and add trades if this move continues its acceleration according to indicators.
Backtest Results
Operating window: Date range of backtests is 2023.01.01 - 2024.12.31. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 10%
Maximum Single Position Loss: -9.49%
Maximum Single Profit: +24.33%
Net Profit: +4374.70 USDT (+43.75%)
Total Trades: 278 (39.57% win rate)
Profit Factor: 2.203
Maximum Accumulated Loss: 668.16 USDT (-5.43%)
Average Profit per Trade: 15.74 USDT (+1.37%)
Average Trade Duration: 60 hours
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 4h BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
TSI Long/Short for BTC 2HThe TSI Long/Short for BTC 2H strategy is an advanced trend-following system designed specifically for trading Bitcoin (BTC) on a 2-hour timeframe. It leverages the True Strength Index (TSI) to identify momentum shifts and executes both long and short trades in response to dynamic market conditions.
Unlike traditional moving average-based strategies, this script uses a double-smoothed momentum calculation, enhancing signal accuracy and reducing noise. It incorporates automated position sizing, customizable leverage, and real-time performance tracking, ensuring a structured and adaptable trading approach.
🔹 What Makes This Strategy Unique?
Unlike simple crossover strategies or generic trend-following approaches, this system utilizes a customized True Strength Index (TSI) methodology that dynamically adjusts to market conditions.
🔸 True Strength Index (TSI) Filtering – The script refines the TSI by applying double exponential smoothing, filtering out weak signals and capturing high-confidence momentum shifts.
🔸 Adaptive Entry & Exit Logic – Instead of fixed thresholds, it compares the TSI value against a dynamically determined high/low range from the past 100 bars to confirm trade signals.
🔸 Leverage & Risk Optimization – Position sizing is dynamically adjusted based on account equity and leverage settings, ensuring controlled risk exposure.
🔸 Performance Monitoring System – A built-in performance tracking table allows traders to evaluate monthly and yearly results directly on the chart.
📊 Core Strategy Components
1️⃣ Momentum-Based Trade Execution
The strategy generates long and short trade signals based on the following conditions:
✅ Long Entry Condition – A buy signal is triggered when the TSI crosses above its 100-bar highest value (previously set), confirming bullish momentum.
✅ Short Entry Condition – A sell signal is generated when the TSI crosses below its 100-bar lowest value (previously set), indicating bearish pressure.
Each trade execution is fully automated, reducing emotional decision-making and improving trading discipline.
2️⃣ Position Sizing & Leverage Control
Risk management is a key focus of this strategy:
🔹 Dynamic Position Sizing – The script calculates position size based on:
Account Equity – Ensuring trade sizes adjust dynamically with capital fluctuations.
Leverage Multiplier – Allows traders to customize risk exposure via an adjustable leverage setting.
🔹 No Fixed Stop-Loss – The strategy relies on reversals to exit trades, meaning each position is closed when the opposite signal appears.
This design ensures maximum capital efficiency while adapting to market conditions in real time.
3️⃣ Performance Visualization & Tracking
Understanding historical performance is crucial for refining strategies. The script includes:
📌 Real-Time Trade Markers – Buy and sell signals are visually displayed on the chart for easy reference.
📌 Performance Metrics Table – Tracks monthly and yearly returns in percentage form, helping traders assess profitability over time.
📌 Trade History Visualization – Completed trades are displayed with color-coded boxes (green for long trades, red for short trades), visually representing profit/loss dynamics.
📢 Why Use This Strategy?
✔ Advanced Momentum Detection – Uses a double-smoothed TSI for more accurate trend signals.
✔ Fully Automated Trading – Removes emotional bias and enforces discipline.
✔ Customizable Risk Management – Adjust leverage and position sizing to suit your risk profile.
✔ Comprehensive Performance Tracking – Integrated reporting system provides clear insights into past trades.
This strategy is ideal for Bitcoin traders looking for a structured, high-probability system that adapts to both bullish and bearish trends on the 2-hour timeframe.
📌 How to Use: Simply add the script to your 2H BTC chart, configure your leverage settings, and let the system handle trade execution and tracking! 🚀
Bollinger Bands Reversal Strategy Analyzer█ OVERVIEW
The Bollinger Bands Reversal Overlay is a versatile trading tool designed to help traders identify potential reversal opportunities using Bollinger Bands. It provides visual signals, performance metrics, and a detailed table to analyze the effectiveness of reversal-based strategies over a user-defined lookback period.
█ KEY FEATURES
Bollinger Bands Calculation
The indicator calculates the standard Bollinger Bands, consisting of:
A middle band (basis) as the Simple Moving Average (SMA) of the closing price.
An upper band as the basis plus a multiple of the standard deviation.
A lower band as the basis minus a multiple of the standard deviation.
Users can customize the length of the Bollinger Bands and the multiplier for the standard deviation.
Reversal Signals
The indicator identifies potential reversal signals based on the interaction between the price and the Bollinger Bands.
Two entry strategies are available:
Revert Cross: Waits for the price to close back above the lower band (for longs) or below the upper band (for shorts) after crossing it.
Cross Threshold: Triggers a signal as soon as the price crosses the lower band (for longs) or the upper band (for shorts).
Trade Direction
Users can select a trade bias:
Long: Focuses on bullish reversal signals.
Short: Focuses on bearish reversal signals.
Performance Metrics
The indicator calculates and displays the performance of trades over a user-defined lookback period ( barLookback ).
Metrics include:
Win Rate: The percentage of trades that were profitable.
Mean Return: The average return across all trades.
Median Return: The median return across all trades.
These metrics are calculated for each bar in the lookback period, providing insights into the strategy's performance over time.
Visual Signals
The indicator plots buy and sell signals on the chart:
Buy Signals: Displayed as green triangles below the price bars.
Sell Signals: Displayed as red triangles above the price bars.
Performance Table
A customizable table is displayed on the chart, showing the performance metrics for each bar in the lookback period.
The table includes:
Win Rate: Highlighted with gradient colors (green for high win rates, red for low win rates).
Mean Return: Colored based on profitability (green for positive returns, red for negative returns).
Median Return: Colored similarly to the mean return.
Time Filtering
Users can define a specific time window for the indicator to analyze trades, ensuring that performance metrics are calculated only for the desired period.
Customizable Display
The table's font size can be adjusted to suit the user's preference, with options for "Auto," "Small," "Normal," and "Large."
█ PURPOSE
The Bollinger Bands Reversal Overlay is designed to:
Help traders identify high-probability reversal opportunities using Bollinger Bands.
Provide actionable insights into the performance of reversal-based strategies.
Enable users to backtest and optimize their trading strategies by analyzing historical performance metrics.
█ IDEAL USERS
Swing Traders: Looking for reversal opportunities within a trend.
Mean Reversion Traders: Interested in trading price reversals to the mean.
Strategy Developers: Seeking to backtest and refine Bollinger Bands-based strategies.
Performance Analysts: Wanting to evaluate the effectiveness of reversal signals over time.
00 Averaging Down Backtest Strategy by RPAlawyer v21FOR EDUCATIONAL PURPOSES ONLY! THE CODE IS NOT YET FULLY DEVELOPED, BUT IT CAN PROVIDE INTERESTING DATA AND INSIGHTS IN ITS CURRENT STATE.
This strategy is an 'averaging down' backtester strategy. The goal of averaging/doubling down is to buy more of an asset at a lower price to reduce your average entry price.
This backtester code proves why you shouldn't do averaging down, but the code can be developed (and will be developed) further, and there might be settings even in its current form that prove that averaging down can be done effectively.
Different averaging down strategies exist:
- Linear/Fixed Amount: buy $1000 every time price drops 5%
- Grid Trading: Placing orders at price levels, often with increasing size, like $1000 at -5%, $2000 at -10%
- Martingale: doubling the position size with each new entry
- Reverse Martingale: decreasing position size as price falls: $4000, then $2000, then $1000
- Percentage-Based: position size based on % of remaining capital, like 10% of available funds at each level
- Dynamic/Adaptive: larger entries during high volatility, smaller during low
- Logarithmic: position sizes increase logarithmically as price drops
Unlike the above average costing strategies, it applies averaging down (I use DCA as a synonym) at a very strong trend reversal. So not at a certain predetermined percentage negative PNL % but at a trend reversal signaled by an indicator - hence it most closely resembles a dynamically moving grid DCA strategy.
Both entering the trade and averaging down assume a strong trend. The signals for trend detection are provided by an indicator that I published under the name '00 Parabolic SAR Trend Following Signals by RPAlawyer', but any indicator that generates numeric signals of 1 and -1 for buy and sell signals can be used.
The indicator must be connected to the strategy: in the strategy settings under 'External Source' you need to select '00 Parabolic SAR Trend Following Signals by RPAlawyer: Connector'. From this point, the strategy detects when the indicator generates buy and sell signals.
The strategy considers a strong trend when a buy signal appears above a very conservative ATR band, or a sell signal below the ATR band. The conservative ATR is chosen to filter ranging markets. This very conservative ATR setting has a default multiplier of 8 and length of 40. The multiplier can be increased up to 10, but there will be very few buy and sell signals at that level and DCA requirements will be very high. Trade entry and DCA occur at these strong trends. In the settings, the 'ATR Filter' setting determines the entry condition (e.g., ATR Filter multiplier of 9), and the 'DCA ATR' determines when DCA will happen (e.g., DCA ATR multiplier of 6).
The DCA levels and DCA amounts are determined as follows:
The first DCA occurs below the DCA Base Deviation% level (see settings, default 3%) which acts as a threshold. The thick green line indicates the long position avg price, and the thin red line below the green line indicates the 3% DCA threshold for long positions. The thick red line indicates the short position avg price, and the thin red line above the thick red line indicates the short position 3% DCA threshold. DCA size multiplier defines the DCA amount invested.
If the loss exceeds 3% AND a buy signal arrives below the lower ATR band for longs, or a sell signal arrives above the upper ATR band for shorts, then the first DCA will be executed. So the first DCA won't happen at 3%, rather 3% is a threshold where the additional condition is that the price must close above or below the ATR band (let's say the first DCA occured at 8%) – this is why the code resembles a dynamic grid strategy, where the grid moves such that alongside the first 3% threshold, a strong trend must also appear for DCA. At this point, the thick green/red line moves because the avg price is modified as a result of the DCA, and the thin red line indicating the next DCA level also moves. The next DCA level is determined by the first DCA level, meaning modified avg price plus an additional +8% + (3% * the Step Scale Multiplier in the settings). This next DCA level will be indicated by the modified thin red line, and the price must break through this level and again break through the ATR band for the second DCA to occur.
Since all this wasn't complicated enough, and I was always obsessed by the idea that when we're sitting in an underwater position for days, doing DCA and waiting for the price to correct, we can actually enter a short position on the other side, on which we can realize profit (if the broker allows taking hedge positions, Binance allows this in Europe).
This opposite position in this strategy can open from the point AFTER THE FIRST DCA OF THE BASE POSITION OCCURS. This base position first DCA actually indicates that the price has already moved against us significantly so time to earn some money on the other side. Breaking through the ATR band is also a condition for entry here, so the hedge position entry is not automatic, and the condition for further DCA is breaking through the DCA Base Deviation (default 3%) and breaking through the ATR band. So for the 'hedge' or rather opposite position, the entry and further DCA conditions are the same as for the base position. The hedge position avg price is indicated by a thick black line and the Next Hedge DCA Level is indicated by a thin black line.
The TPs are indicated by green labels for base positions and red labels for hedge positions.
No SL built into the strategy at this point but you are free to do your coding.
Summary data can be found in the upper right corner.
The fantastic trend reversal indicator Machine learning: Lorentzian Classification by jdehorty can be used as an external indicator, choose 'backtest stream' for the external source. The ATR Band multiplicators need to be reduced to 5-6 when using Lorentz.
The code can be further developed in several aspects, and as I write this, I already have a few ideas 😊
Bullish Reversal Bar Strategy [Skyrexio]Overview
Bullish Reversal Bar Strategy leverages the combination of candlestick pattern Bullish Reversal Bar (description in Methodology and Justification of Methodology), Williams Alligator indicator and Williams Fractals to create the high probability setups. Candlestick pattern is used for the entering into trade, while the combination of Williams Alligator and Fractals is used for the trend approximation as close condition. Strategy uses only long trades.
Unique Features
No fixed stop-loss and take profit: Instead of fixed stop-loss level strategy utilizes technical condition obtained by Fractals and Alligator or the candlestick pattern invalidation to identify when current uptrend is likely to be over (more information in "Methodology" and "Justification of Methodology" paragraphs)
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Trend Trade Filter: strategy uses Alligator and Fractal combination as high probability trend filter.
Methodology
The strategy opens long trade when the following price met the conditions:
1.Current candle's high shall be below the Williams Alligator's lines (Jaw, Lips, Teeth)(all details in "Justification of Methodology" paragraph)
2.Price shall create the candlestick pattern "Bullish Reversal Bar". Optionally if MFI and AO filters are enabled current candle shall have the decreasing AO and at least one of three recent bars shall have the squat state on the MFI (all details in "Justification of Methodology" paragraph)
3.If price breaks through the high of the candle marked as the "Bullish Reversal Bar" the long trade is open at the price one tick above the candle's high
4.Initial stop loss is placed at the Bullish Reversal Bar's candle's low
5.If price hit the Bullish Reversal Bar's low before hitting the entry price potential trade is cancelled
6.If trade is active and initial stop loss has not been hit, trade is closed when the combination of Alligator and Williams Fractals shall consider current trend change from upward to downward.
Strategy settings
In the inputs window user can setup strategy setting:
Enable MFI (if true trades are filtered using Market Facilitation Index (MFI) condition all details in "Justification of Methodology" paragraph), by default = false)
Enable AO (if true trades are filtered using Awesome Oscillator (AO) condition all details in "Justification of Methodology" paragraph), by default = false)
Justification of Methodology
Let's explore the key concepts of this strategy and understand how they work together. The first and key concept is the Bullish Reversal Bar candlestick pattern. This is just the single bar pattern. The rules are simple:
Candle shall be closed in it's upper half
High of this candle shall be below all three Alligator's lines (Jaw, Lips, Teeth)
Next, let’s discuss the short-term trend filter, which combines the Williams Alligator and Williams Fractals. Williams Alligator
Developed by Bill Williams, the Alligator is a technical indicator that identifies trends and potential market reversals. It consists of three smoothed moving averages:
Jaw (Blue Line): The slowest of the three, based on a 13-period smoothed moving average shifted 8 bars ahead.
Teeth (Red Line): The medium-speed line, derived from an 8-period smoothed moving average shifted 5 bars forward.
Lips (Green Line): The fastest line, calculated using a 5-period smoothed moving average shifted 3 bars forward.
When the lines diverge and align in order, the "Alligator" is "awake," signaling a strong trend. When the lines overlap or intertwine, the "Alligator" is "asleep," indicating a range-bound or sideways market. This indicator helps traders determine when to enter or avoid trades.
Fractals, another tool by Bill Williams, help identify potential reversal points on a price chart. A fractal forms over at least five consecutive bars, with the middle bar showing either:
Up Fractal: Occurs when the middle bar has a higher high than the two preceding and two following bars, suggesting a potential downward reversal.
Down Fractal: Happens when the middle bar shows a lower low than the surrounding two bars, hinting at a possible upward reversal.
Traders often use fractals alongside other indicators to confirm trends or reversals, enhancing decision-making accuracy.
How do these tools work together in this strategy? Let’s consider an example of an uptrend.
When the price breaks above an up fractal, it signals a potential bullish trend. This occurs because the up fractal represents a shift in market behavior, where a temporary high was formed due to selling pressure. If the price revisits this level and breaks through, it suggests the market sentiment has turned bullish.
The breakout must occur above the Alligator’s teeth line to confirm the trend. A breakout below the teeth is considered invalid, and the downtrend might still persist. Conversely, in a downtrend, the same logic applies with down fractals.
How we can use all these indicators in this strategy? This strategy is a counter trend one. Candle's high shall be below all Alligator's lines. During this market stage the bullish reversal bar candlestick pattern shall be printed. This bar during the downtrend is a high probability setup for the potential reversal to the upside: bulls were able to close the price in the upper half of a candle. The breaking of its high is a high probability signal that trend change is confirmed and script opens long trade. If market continues going down and break down the bullish reversal bar's low potential trend change has been invalidated and strategy close long trade.
If market really reversed and started moving to the upside strategy waits for the trend change form the downtrend to the uptrend according to approximation of Alligator and Fractals combination. If this change happens strategy close the trade. This approach helps to stay in the long trade while the uptrend continuation is likely and close it if there is a high probability of the uptrend finish.
Optionally users can enable MFI and AO filters. First of all, let's briefly explain what are these two indicators. The Awesome Oscillator (AO), created by Bill Williams, is a momentum-based indicator that evaluates market momentum by comparing recent price activity to a broader historical context. It assists traders in identifying potential trend reversals and gauging trend strength.
AO = SMA5(Median Price) − SMA34(Median Price)
where:
Median Price = (High + Low) / 2
SMA5 = 5-period Simple Moving Average of the Median Price
SMA 34 = 34-period Simple Moving Average of the Median Price
This indicator is filtering signals in the following way: if current AO bar is decreasing this candle can be interpreted as a bullish reversal bar. This logic is applicable because initially this strategy is a trend reversal, it is searching for the high probability setup against the current trend. Decreasing AO is the additional high probability filter of a downtrend.
Let's briefly look what is MFI. The Market Facilitation Index (MFI) is a technical indicator that measures the price movement per unit of volume, helping traders gauge the efficiency of price movement in relation to trading volume. Here's how you can calculate it:
MFI = (High−Low)/Volume
MFI can be used in combination with volume, so we can divide 4 states. Bill Williams introduced these to help traders interpret the interaction between volume and price movement. Here’s a quick summary:
Green Window (Increased MFI & Increased Volume): Indicates strong momentum with both price and volume increasing. Often a sign of trend continuation, as both buying and selling interest are rising.
Fake Window (Increased MFI & Decreased Volume): Shows that price is moving but with lower volume, suggesting weak support for the trend. This can signal a potential end of the current trend.
Squat Window (Decreased MFI & Increased Volume): Shows high volume but little price movement, indicating a tug-of-war between buyers and sellers. This often precedes a breakout as the pressure builds.
Fade Window (Decreased MFI & Decreased Volume): Indicates a lack of interest from both buyers and sellers, leading to lower momentum. This typically happens in range-bound markets and may signal consolidation before a new move.
For our purposes we are interested in squat bars. This is the sign that volume cannot move the price easily. This type of bar increases the probability of trend reversal. In this indicator we added to enable the MFI filter of reversal bars. If potential reversal bar or two preceding bars have squat state this bar can be interpret as a reversal one.
Backtest Results
Operating window: Date range of backtests is 2023.01.01 - 2024.12.31. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 50%
Maximum Single Position Loss: -5.29%
Maximum Single Profit: +29.99%
Net Profit: +5472.66 USDT (+54.73%)
Total Trades: 103 (33.98% win rate)
Profit Factor: 1.634
Maximum Accumulated Loss: 1231.15 USDT (-8.32%)
Average Profit per Trade: 53.13 USDT (+0.94%)
Average Trade Duration: 76 hours
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 4h ETH/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
Adaptive Momentum Reversion StrategyThe Adaptive Momentum Reversion Strategy: An Empirical Approach to Market Behavior
The Adaptive Momentum Reversion Strategy seeks to capitalize on market price dynamics by combining concepts from momentum and mean reversion theories. This hybrid approach leverages a Rate of Change (ROC) indicator along with Bollinger Bands to identify overbought and oversold conditions, triggering trades based on the crossing of specific thresholds. The strategy aims to detect momentum shifts and exploit price reversions to their mean.
Theoretical Framework
Momentum and Mean Reversion: Momentum trading assumes that assets with a recent history of strong performance will continue in that direction, while mean reversion suggests that assets tend to return to their historical average over time (Fama & French, 1988; Poterba & Summers, 1988). This strategy incorporates elements of both, looking for periods when momentum is either overextended (and likely to revert) or when the asset’s price is temporarily underpriced relative to its historical trend.
Rate of Change (ROC): The ROC is a straightforward momentum indicator that measures the percentage change in price over a specified period (Wilder, 1978). The strategy calculates the ROC over a 2-period window, making it responsive to short-term price changes. By using ROC, the strategy aims to detect price acceleration and deceleration.
Bollinger Bands: Bollinger Bands are used to identify volatility and potential price extremes, often signaling overbought or oversold conditions. The bands consist of a moving average and two standard deviation bounds that adjust dynamically with price volatility (Bollinger, 2002).
The strategy employs two sets of Bollinger Bands: one for short-term volatility (lower band) and another for longer-term trends (upper band), with different lengths and standard deviation multipliers.
Strategy Construction
Indicator Inputs:
ROC Period: The rate of change is computed over a 2-period window, which provides sensitivity to short-term price fluctuations.
Bollinger Bands:
Lower Band: Calculated with a 18-period length and a standard deviation of 1.7.
Upper Band: Calculated with a 21-period length and a standard deviation of 2.1.
Calculations:
ROC Calculation: The ROC is computed by comparing the current close price to the close price from rocPeriod days ago, expressing it as a percentage.
Bollinger Bands: The strategy calculates both upper and lower Bollinger Bands around the ROC, using a simple moving average as the central basis. The lower Bollinger Band is used as a reference for identifying potential long entry points when the ROC crosses above it, while the upper Bollinger Band serves as a reference for exits, when the ROC crosses below it.
Trading Conditions:
Long Entry: A long position is initiated when the ROC crosses above the lower Bollinger Band, signaling a potential shift from a period of low momentum to an increase in price movement.
Exit Condition: A position is closed when the ROC crosses under the upper Bollinger Band, or when the ROC drops below the lower band again, indicating a reversal or weakening of momentum.
Visual Indicators:
ROC Plot: The ROC is plotted as a line to visualize the momentum direction.
Bollinger Bands: The upper and lower bands, along with their basis (simple moving averages), are plotted to delineate the expected range for the ROC.
Background Color: To enhance decision-making, the strategy colors the background when extreme conditions are detected—green for oversold (ROC below the lower band) and red for overbought (ROC above the upper band), indicating potential reversal zones.
Strategy Performance Considerations
The use of Bollinger Bands in this strategy provides an adaptive framework that adjusts to changing market volatility. When volatility increases, the bands widen, allowing for larger price movements, while during quieter periods, the bands contract, reducing trade signals. This adaptiveness is critical in maintaining strategy effectiveness across different market conditions.
The strategy’s pyramiding setting is disabled (pyramiding=0), ensuring that only one position is taken at a time, which is a conservative risk management approach. Additionally, the strategy includes transaction costs and slippage parameters to account for real-world trading conditions.
Empirical Evidence and Relevance
The combination of momentum and mean reversion has been widely studied and shown to provide profitable opportunities under certain market conditions. Studies such as Jegadeesh and Titman (1993) confirm that momentum strategies tend to work well in trending markets, while mean reversion strategies have been effective during periods of high volatility or after sharp price movements (De Bondt & Thaler, 1985). By integrating both strategies into one system, the Adaptive Momentum Reversion Strategy may be able to capitalize on both trending and reverting market behavior.
Furthermore, research by Chan (1996) on momentum-based trading systems demonstrates that adaptive strategies, which adjust to changes in market volatility, often outperform static strategies, providing a compelling rationale for the use of Bollinger Bands in this context.
Conclusion
The Adaptive Momentum Reversion Strategy provides a robust framework for trading based on the dual concepts of momentum and mean reversion. By using ROC in combination with Bollinger Bands, the strategy is capable of identifying overbought and oversold conditions while adapting to changing market conditions. The use of adaptive indicators ensures that the strategy remains flexible and can perform across different market environments, potentially offering a competitive edge for traders who seek to balance risk and reward in their trading approaches.
References
Bollinger, J. (2002). Bollinger on Bollinger Bands. McGraw-Hill Professional.
Chan, L. K. C. (1996). Momentum, Mean Reversion, and the Cross-Section of Stock Returns. Journal of Finance, 51(5), 1681-1713.
De Bondt, W. F., & Thaler, R. H. (1985). Does the Stock Market Overreact? Journal of Finance, 40(3), 793-805.
Fama, E. F., & French, K. R. (1988). Permanent and Temporary Components of Stock Prices. Journal of Political Economy, 96(2), 246-273.
Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency. Journal of Finance, 48(1), 65-91.
Poterba, J. M., & Summers, L. H. (1988). Mean Reversion in Stock Prices: Evidence and Implications. Journal of Financial Economics, 22(1), 27-59.
Wilder, J. W. (1978). New Concepts in Technical Trading Systems. Trend Research.
three Supertrend EMA Strategy by Prasanna +DhanuThe indicator described in your Pine Script is a Supertrend EMA Strategy that combines the Supertrend and EMA (Exponential Moving Average) to create a trend-following strategy. Here’s a detailed breakdown of how this indicator works:
1. EMA (Exponential Moving Average):
The EMA is a moving average that places more weight on recent prices, making it more responsive to price changes compared to a simple moving average (SMA). In this strategy, the EMA is used to determine the overall trend direction.
Input Parameter:
ema_length: This is the period for the EMA, set to 50 periods by default. A shorter EMA will respond more quickly to price movements, while a longer EMA is smoother and less sensitive to short-term fluctuations.
How it's used:
If the price is above the EMA, it indicates an uptrend.
If the price is below the EMA, it indicates a downtrend.
2. Supertrend Indicator:
The Supertrend indicator is a trend-following tool based on the Average True Range (ATR), which is a volatility measure. It helps to identify the direction of the trend by setting a dynamic support or resistance level.
Input Parameters:
supertrend_atr_period: The period used for calculating the ATR, set to 10 periods by default.
supertrend_multiplier1: Multiplier for the first Supertrend, set to 3.0.
supertrend_multiplier2: Multiplier for the second Supertrend, set to 2.0.
supertrend_multiplier3: Multiplier for the third Supertrend, set to 1.0.
Each Supertrend line has a different multiplier, which affects its sensitivity to price changes. The ATR period defines how many periods of price data are used to calculate the ATR.
How the Supertrend works:
If the Supertrend value is below the price, the trend is considered bullish (uptrend).
If the Supertrend value is above the price, the trend is considered bearish (downtrend).
The Supertrend will switch between up and down based on price movement and ATR, providing a dynamic trend-following signal.
3. Three Supertrend Lines:
In this strategy, three Supertrend lines are calculated with different multipliers and the same ATR period (10 periods). Each line is more or less sensitive to price changes, and they are plotted on the chart in different colors based on whether the trend is bullish (green) or bearish (red).
Supertrend 1: The most sensitive Supertrend with a multiplier of 3.0.
Supertrend 2: A moderately sensitive Supertrend with a multiplier of 2.0.
Supertrend 3: The least sensitive Supertrend with a multiplier of 1.0.
Each Supertrend line signals a bullish trend when its value is below the price and a bearish trend when its value is above the price.
4. Strategy Rules:
This strategy uses the three Supertrend lines combined with the EMA to generate trade signals.
Entry Conditions:
A long entry is triggered when all three Supertrend lines are in an uptrend (i.e., all three Supertrend lines are below the price), and the price is above the EMA. This suggests a strong bullish market condition.
A short entry is triggered when all three Supertrend lines are in a downtrend (i.e., all three Supertrend lines are above the price), and the price is below the EMA. This suggests a strong bearish market condition.
Exit Conditions:
A long exit occurs when the third Supertrend (the least sensitive one) switches to a downtrend (i.e., the price falls below it).
A short exit occurs when the third Supertrend switches to an uptrend (i.e., the price rises above it).
5. Visualization:
The strategy also plots the following on the chart:
The EMA is plotted as a blue line, which helps identify the overall trend.
The three Supertrend lines are plotted with different colors:
Supertrend 1: Green (for uptrend) and Red (for downtrend).
Supertrend 2: Green (for uptrend) and Red (for downtrend).
Supertrend 3: Green (for uptrend) and Red (for downtrend).
Summary of the Strategy:
The strategy combines three Supertrend indicators (with different multipliers) and an EMA to capture both short-term and long-term trends.
Long positions are entered when all three Supertrend lines are bullish and the price is above the EMA.
Short positions are entered when all three Supertrend lines are bearish and the price is below the EMA.
Exits occur when the third Supertrend line (the least sensitive) signals a change in trend direction.
This combination of indicators allows for a robust trend-following strategy that adapts to both short-term volatility and long-term trend direction. The Supertrend lines provide quick reaction to price changes, while the EMA offers a smoother, more stable trend direction for confirmation.
The indicator described in your Pine Script is a Supertrend EMA Strategy that combines the Supertrend and EMA (Exponential Moving Average) to create a trend-following strategy. Here’s a detailed breakdown of how this indicator works:
1. EMA (Exponential Moving Average):
The EMA is a moving average that places more weight on recent prices, making it more responsive to price changes compared to a simple moving average (SMA). In this strategy, the EMA is used to determine the overall trend direction.
Input Parameter:
ema_length: This is the period for the EMA, set to 50 periods by default. A shorter EMA will respond more quickly to price movements, while a longer EMA is smoother and less sensitive to short-term fluctuations.
How it's used:
If the price is above the EMA, it indicates an uptrend.
If the price is below the EMA, it indicates a downtrend.
2. Supertrend Indicator:
The Supertrend indicator is a trend-following tool based on the Average True Range (ATR), which is a volatility measure. It helps to identify the direction of the trend by setting a dynamic support or resistance level.
Input Parameters:
supertrend_atr_period: The period used for calculating the ATR, set to 10 periods by default.
supertrend_multiplier1: Multiplier for the first Supertrend, set to 3.0.
supertrend_multiplier2: Multiplier for the second Supertrend, set to 2.0.
supertrend_multiplier3: Multiplier for the third Supertrend, set to 1.0.
Each Supertrend line has a different multiplier, which affects its sensitivity to price changes. The ATR period defines how many periods of price data are used to calculate the ATR.
How the Supertrend works:
If the Supertrend value is below the price, the trend is considered bullish (uptrend).
If the Supertrend value is above the price, the trend is considered bearish (downtrend).
The Supertrend will switch between up and down based on price movement and ATR, providing a dynamic trend-following signal.
3. Three Supertrend Lines:
In this strategy, three Supertrend lines are calculated with different multipliers and the same ATR period (10 periods). Each line is more or less sensitive to price changes, and they are plotted on the chart in different colors based on whether the trend is bullish (green) or bearish (red).
Supertrend 1: The most sensitive Supertrend with a multiplier of 3.0.
Supertrend 2: A moderately sensitive Supertrend with a multiplier of 2.0.
Supertrend 3: The least sensitive Supertrend with a multiplier of 1.0.
Each Supertrend line signals a bullish trend when its value is below the price and a bearish trend when its value is above the price.
4. Strategy Rules:
This strategy uses the three Supertrend lines combined with the EMA to generate trade signals.
Entry Conditions:
A long entry is triggered when all three Supertrend lines are in an uptrend (i.e., all three Supertrend lines are below the price), and the price is above the EMA. This suggests a strong bullish market condition.
A short entry is triggered when all three Supertrend lines are in a downtrend (i.e., all three Supertrend lines are above the price), and the price is below the EMA. This suggests a strong bearish market condition.
Exit Conditions:
A long exit occurs when the third Supertrend (the least sensitive one) switches to a downtrend (i.e., the price falls below it).
A short exit occurs when the third Supertrend switches to an uptrend (i.e., the price rises above it).
5. Visualization:
The strategy also plots the following on the chart:
The EMA is plotted as a blue line, which helps identify the overall trend.
The three Supertrend lines are plotted with different colors:
Supertrend 1: Green (for uptrend) and Red (for downtrend).
Supertrend 2: Green (for uptrend) and Red (for downtrend).
Supertrend 3: Green (for uptrend) and Red (for downtrend).
Summary of the Strategy:
The strategy combines three Supertrend indicators (with different multipliers) and an EMA to capture both short-term and long-term trends.
Long positions are entered when all three Supertrend lines are bullish and the price is above the EMA.
Short positions are entered when all three Supertrend lines are bearish and the price is below the EMA.
Exits occur when the third Supertrend line (the least sensitive) signals a change in trend direction.
This combination of indicators allows for a robust trend-following strategy that adapts to both short-term volatility and long-term trend direction. The Supertrend lines provide quick reaction to price changes, while the EMA offers a smoother, more stable trend direction for confirmation.
The indicator described in your Pine Script is a Supertrend EMA Strategy that combines the Supertrend and EMA (Exponential Moving Average) to create a trend-following strategy. Here’s a detailed breakdown of how this indicator works:
1. EMA (Exponential Moving Average):
The EMA is a moving average that places more weight on recent prices, making it more responsive to price changes compared to a simple moving average (SMA). In this strategy, the EMA is used to determine the overall trend direction.
Input Parameter:
ema_length: This is the period for the EMA, set to 50 periods by default. A shorter EMA will respond more quickly to price movements, while a longer EMA is smoother and less sensitive to short-term fluctuations.
How it's used:
If the price is above the EMA, it indicates an uptrend.
If the price is below the EMA, it indicates a downtrend.
2. Supertrend Indicator:
The Supertrend indicator is a trend-following tool based on the Average True Range (ATR), which is a volatility measure. It helps to identify the direction of the trend by setting a dynamic support or resistance level.
Input Parameters:
supertrend_atr_period: The period used for calculating the ATR, set to 10 periods by default.
supertrend_multiplier1: Multiplier for the first Supertrend, set to 3.0.
supertrend_multiplier2: Multiplier for the second Supertrend, set to 2.0.
supertrend_multiplier3: Multiplier for the third Supertrend, set to 1.0.
Each Supertrend line has a different multiplier, which affects its sensitivity to price changes. The ATR period defines how many periods of price data are used to calculate the ATR.
How the Supertrend works:
If the Supertrend value is below the price, the trend is considered bullish (uptrend).
If the Supertrend value is above the price, the trend is considered bearish (downtrend).
The Supertrend will switch between up and down based on price movement and ATR, providing a dynamic trend-following signal.
3. Three Supertrend Lines:
In this strategy, three Supertrend lines are calculated with different multipliers and the same ATR period (10 periods). Each line is more or less sensitive to price changes, and they are plotted on the chart in different colors based on whether the trend is bullish (green) or bearish (red).
Supertrend 1: The most sensitive Supertrend with a multiplier of 3.0.
Supertrend 2: A moderately sensitive Supertrend with a multiplier of 2.0.
Supertrend 3: The least sensitive Supertrend with a multiplier of 1.0.
Each Supertrend line signals a bullish trend when its value is below the price and a bearish trend when its value is above the price.
4. Strategy Rules:
This strategy uses the three Supertrend lines combined with the EMA to generate trade signals.
Entry Conditions:
A long entry is triggered when all three Supertrend lines are in an uptrend (i.e., all three Supertrend lines are below the price), and the price is above the EMA. This suggests a strong bullish market condition.
A short entry is triggered when all three Supertrend lines are in a downtrend (i.e., all three Supertrend lines are above the price), and the price is below the EMA. This suggests a strong bearish market condition.
Exit Conditions:
A long exit occurs when the third Supertrend (the least sensitive one) switches to a downtrend (i.e., the price falls below it).
A short exit occurs when the third Supertrend switches to an uptrend (i.e., the price rises above it).
5. Visualization:
The strategy also plots the following on the chart:
The EMA is plotted as a blue line, which helps identify the overall trend.
The three Supertrend lines are plotted with different colors:
Supertrend 1: Green (for uptrend) and Red (for downtrend).
Supertrend 2: Green (for uptrend) and Red (for downtrend).
Supertrend 3: Green (for uptrend) and Red (for downtrend).
Summary of the Strategy:
The strategy combines three Supertrend indicators (with different multipliers) and an EMA to capture both short-term and long-term trends.
Long positions are entered when all three Supertrend lines are bullish and the price is above the EMA.
Short positions are entered when all three Supertrend lines are bearish and the price is below the EMA.
Exits occur when the third Supertrend line (the least sensitive) signals a change in trend direction.
This combination of indicators allows for a robust trend-following strategy that adapts to both short-term volatility and long-term trend direction. The Supertrend lines provide quick reaction to price changes, while the EMA offers a smoother, more stable trend direction for confirmation.
Custom Strategy: ETH Martingale 2.0Strategic characteristics
ETH Little Martin 2.0 is a self-developed trading strategy based on the Martingale strategy, mainly used for trading ETH (Ethereum). The core idea of this strategy is to place orders in the same direction at a fixed price interval, and then use Martin's multiple investment principle to reduce losses, but this is also the main source of losses.
Parameter description:
1 Interval: The minimum spacing for taking profit, stop loss, and opening/closing of orders. Different targets have different spacing. Taking ETH as an example, it is generally recommended to have a spacing of 2% for fluctuations in the target.
2 Base Price: This is the price at which you triggered the first order. Similarly, I am using ETH as an example. If you have other targets, I suggest using the initial value of a price that can be backtesting. The Base Price is only an initial order price and has no impact on subsequent orders.
3 Initial Order Amount: Users can set an initial order amount to control the risk of each transaction. If the stop loss is reached, we will double the amount based on this value. This refers to the value of the position held, not the number of positions held.
4 Loss Multiplier: The strategy will increase the next order amount based on the set multiple after the stop loss, in order to make up for the previous losses through a larger position. Note that after taking profit, it will be reset to 1 times the Initial Order Amount.
5. Long Short Operation: The first order of the strategy is a multiple entry, and in subsequent orders, if the stop loss is reached, a reverse order will be opened. The position value of a one-way order is based on the Loss Multiplier multiple investment, so it is generally recommended that the Loss Multiplier default to 2.
Improvement direction
Although this strategy already has a certain trading logic, there are still some improvement directions that can be considered:
1. Dynamic adjustment of spacing: Currently, the spacing is fixed, and it can be considered to dynamically adjust the spacing based on market volatility to improve the adaptability of the strategy. Try using dynamic spacing, which may be more suitable for the actual market situation.
2. Filtering criteria: Orders and no orders can be optimized separately. The biggest problem with this strategy is that it will result in continuous losses during fluctuations, and eventually increase the investment amount. You can consider filtering out some fluctuations or only focusing on trend trends.
3. Risk management: Add more risk management measures, such as setting a maximum loss limit to avoid huge losses caused by continuous stop loss.
4. Optimize the stop loss multiple: Currently, the stop loss multiple is fixed, and it can be considered to dynamically adjust the multiple according to market conditions to reduce risk.
Gold Friday Anomaly StrategyThis script implements the " Gold Friday Anomaly Strategy ," a well-known historical trading strategy that leverages the gold market's behavior from Thursday evening to Friday close. It is a backtesting-focused strategy designed to assess the historical performance of this pattern. Traders use this anomaly as it captures a recurring market tendency observed over the years.
What It Does:
Entry Condition: The strategy enters a long position at the beginning of the Friday trading session (Thursday evening close) within the defined backtesting period.
Exit Condition: Friday evening close.
Backtesting Controls: Allows users to set custom backtesting periods to evaluate strategy performance over specific date ranges.
Key Features:
Custom Backtest Periods: Easily configurable inputs to set the start and end date of the backtesting range.
Fixed Slippage and Commission Settings: Ensures realistic simulation of trading conditions.
Process Orders on Close: Backtesting is optimized by processing orders at the bar's close.
Important Notes:
Backtesting Only: This script is intended purely for backtesting purposes. Past performance is not indicative of future results.
Live Trading Recommendations: For live trading, it is highly recommended to use limit orders instead of market orders, especially during evening sessions, as market order slippage can be significant.
Default Settings:
Entry size: 10% of equity per trade.
Slippage: 1 tick.
Commission: 0.05% per trade.
Triple CCI Strategy MFI Confirmed [Skyrexio]Overview
Triple CCI Strategy MFI Confirmed leverages 3 different periods Commodity Channel Index (CCI) indicator in conjunction Money Flow Index (MFI) and Exponential Moving Average (EMA) to obtain the high probability setups. Fast period CCI is used for having the high probability to enter in the direction of short term trend, middle and slow period CCI are used for confirmation, if market now likely in the mid and long-term uptrend. MFI is used to confirm trade with the money inflow/outflow with the high probability. EMA is used as an additional trend filter. Moreover, strategy uses exponential moving average (EMA) to trail the price when it reaches the specific level. More information in "Methodology" and "Justification of Methodology" paragraphs. The strategy opens only long trades.
Unique Features
Dynamic stop-loss system: Instead of fixed stop-loss level strategy utilizes average true range (ATR) multiplied by user given number subtracted from the position entry price as a dynamic stop loss level.
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Four layers trade filtering system: Strategy utilizes two different period CCI indicators, MFI and EMA indicators to confirm the signals produced by fast period CCI.
Trailing take profit level: After reaching the trailing profit activation level scrip activate the trailing of long trade using EMA. More information in methodology.
Methodology
The strategy opens long trade when the following price met the conditions:
Fast period CCI shall crossover the zero-line.
Slow and Middle period CCI shall be above zero-lines.
Price shall close above the EMA. Crossover is not obligatory
MFI shall be above 50
When long trade is executed, strategy set the stop-loss level at the price ATR multiplied by user-given value below the entry price. This level is recalculated on every next candle close, adjusting to the current market volatility.
At the same time strategy set up the trailing stop validation level. When the price crosses the level equals entry price plus ATR multiplied by user-given value script starts to trail the price with EMA. If price closes below EMA long trade is closed. When the trailing starts, script prints the label “Trailing Activated”.
Strategy settings
In the inputs window user can setup the following strategy settings:
ATR Stop Loss (by default = 1.75)
ATR Trailing Profit Activation Level (by default = 2.25)
CCI Fast Length (by default = 14, used for calculation short term period CCI)
CCI Middle Length (by default = 25, used for calculation short term period CCI)
CCI Slow Length (by default = 50, used for calculation long term period CCI)
MFI Length (by default = 14, used for calculation MFI
EMA Length (by default = 50, period of EMA, used for trend filtering EMA calculation)
Trailing EMA Length (by default = 20)
User can choose the optimal parameters during backtesting on certain price chart.
Justification of Methodology
Before understanding why this particular combination of indicator has been chosen let's briefly explain what is CCI, MFI and EMA.
The Commodity Channel Index (CCI) is a momentum-based technical indicator that measures the deviation of a security's price from its average price over a specific period. It helps traders identify overbought or oversold conditions and potential trend reversals.
The CCI formula is:
CCI = (Typical Price − SMA) / (0.015 × Mean Deviation)
Typical Price (TP): This is calculated as the average of the high, low, and closing prices for the period.
Simple Moving Average (SMA): This is the average of the Typical Prices over a specific number of periods.
Mean Deviation: This is the average of the absolute differences between the Typical Price and the SMA.
The result is a value that typically fluctuates between +100 and -100, though it is not bounded and can go higher or lower depending on the price movement.
The Money Flow Index (MFI) is a technical indicator that measures the strength of money flowing into and out of a security. It combines price and volume data to assess buying and selling pressure and is often used to identify overbought or oversold conditions. The formula for MFI involves several steps:
1. Calculate the Typical Price (TP):
TP = (high + low + close) / 3
2. Calculate the Raw Money Flow (RMF):
Raw Money Flow = TP × Volume
3. Determine Positive and Negative Money Flow:
If the current TP is greater than the previous TP, it's Positive Money Flow.
If the current TP is less than the previous TP, it's Negative Money Flow.
4. Calculate the Money Flow Ratio (MFR):
Money Flow Ratio = Sum of Positive Money Flow (over n periods) / Sum of Negative Money Flow (over n periods)
5. Calculate the Money Flow Index (MFI):
MFI = 100 − (100 / (1 + Money Flow Ratio))
MFI above 80 can be considered as overbought, below 20 - oversold.
The Exponential Moving Average (EMA) is a type of moving average that places greater weight and significance on the most recent data points. It is widely used in technical analysis to smooth price data and identify trends more quickly than the Simple Moving Average (SMA).
Formula:
1. Calculate the multiplier
Multiplier = 2 / (n + 1) , Where n is the number of periods.
2. EMA Calculation
EMA = (Current Price) × Multiplier + (Previous EMA) × (1 − Multiplier)
This strategy leverages Fast period CCI, which shall break the zero line to the upside to say that probability of short term trend change to the upside increased. This zero line crossover shall be confirmed by the Middle and Slow periods CCI Indicators. At the moment of breakout these two CCIs shall be above 0, indicating that there is a high probability that price is in middle and long term uptrend. This approach increases chances to have a long trade setup in the direction of mid-term and long-term trends when the short-term trend starts to reverse to the upside.
Additionally strategy uses MFI to have a greater probability that fast CCI breakout is confirmed by this indicator. We consider the values of MFI above 50 as a higher probability that trend change from downtrend to the uptrend is real. Script opens long trades only if MFI is above 50. As you already know from the MFI description, it incorporates volume in its calculation, therefore we have another one confirmation factor.
Finally, strategy uses EMA an additional trend filter. It allows to open long trades only if price close above EMA (by default 50 period). It increases the probability of taking long trades only in the direction of the trend.
ATR is used to adjust the strategy risk management to the current market volatility. If volatility is low, we don’t need the large stop loss to understand the there is a high probability that we made a mistake opening the trade. User can setup the settings ATR Stop Loss and ATR Trailing Profit Activation Level to realize his own risk to reward preferences, but the unique feature of a strategy is that after reaching trailing profit activation level strategy is trying to follow the trend until it is likely to be finished instead of using fixed risk management settings. It allows sometimes to be involved in the large movements. It’s also important to make a note, that script uses another one EMA (by default = 20 period) as a trailing profit level.
Backtest Results
Operating window: Date range of backtests is 2022.04.01 - 2024.11.25. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 50%
Maximum Single Position Loss: -4.13%
Maximum Single Profit: +19.66%
Net Profit: +5421.21 USDT (+54.21%)
Total Trades: 108 (44.44% win rate)
Profit Factor: 2.006
Maximum Accumulated Loss: 777.40 USDT (-7.77%)
Average Profit per Trade: 50.20 USDT (+0.85%)
Average Trade Duration: 44 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 2h BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
Max Pain StrategyThe Max Pain Strategy uses a combination of volume and price movement thresholds to identify potential "pain zones" in the market. A "pain zone" is considered when the volume exceeds a certain multiple of its average over a defined lookback period, and the price movement exceeds a predefined percentage relative to the price at the beginning of the lookback period.
Here’s how the strategy functions step-by-step:
Inputs:
length: Defines the lookback period used to calculate the moving average of volume and the price change over that period.
volMultiplier: Sets a threshold multiplier for the volume; if the volume exceeds the average volume multiplied by this factor, it triggers the condition for a potential "pain zone."
priceMultiplier: Sets a threshold for the minimum percentage price change that is required for a "pain zone" condition.
Calculations:
averageVolume: The simple moving average (SMA) of volume over the specified lookback period.
priceChange: The absolute difference in price between the current bar's close and the close from the lookback period (length).
Pain Zone Condition:
The condition for entering a position is triggered if both the volume is higher than the average volume by the volMultiplier and the price change exceeds the price at the length-period ago by the priceMultiplier. This is an indication of significant market activity that could result in a price move.
Position Entry:
A long position is entered when the "pain zone" condition is met.
Exit Strategy:
The position is closed after the specified holdPeriods, which defines how many periods the position will be held after being entered.
Visualization:
A small triangle is plotted on the chart where the "pain zone" condition is met.
The background color changes to a semi-transparent red when the "pain zone" is active.
Scientific Explanation of the Components
Volume Analysis and Price Movement: These are two critical factors in trading strategies. Volume often serves as an indicator of market strength (or weakness), and price movement is a direct reflection of market sentiment. Higher volume with significant price movement may suggest that the market is entering a phase of increased volatility or trend formation, which the strategy aims to exploit.
Volume analysis: The study of volume as an indicator of market participation, with increased volume often signaling stronger trends (Murphy, J. J., Technical Analysis of the Financial Markets).
Price movement thresholds: A large price change over a short period may be interpreted as a breakout or a potential reversal point, aligning with volatility and liquidity analysis (Schwager, J. D., Market Wizards).
Repainting Check: This strategy does not involve any repainting because it is based on current and past data, and there is no reference to future values in the decision-making process. However, any strategy that uses lagging indicators or conditions based on historical bars, like close , is inherently a lagging strategy and might not predict real-time price action accurately until after the fact.
Risk Management: The position hold duration is predefined, which adds an element of time-based risk control. This duration ensures that the strategy does not hold a position indefinitely, which could expose it to unnecessary risk.
Potential Issues and Considerations
Repainting:
The strategy does not utilize future data or conditions that depend on future bars, so it does not inherently suffer from repainting issues.
However, since the strategy relies on volume and price change over a set lookback period, the decision to enter or exit a trade is only made after the data for the current bar is complete, meaning the trade decisions are somewhat delayed, which could be seen as a lagging feature rather than a repainting one.
Lagging Nature:
As with many technical analysis-based strategies, this one is based on past data (moving averages, price changes), meaning it reacts to market movements after they have already occurred, rather than predicting future price actions.
Overfitting Risk:
With parameters like the lookback period and multipliers being user-adjustable, there is a risk of overfitting to historical data. Adjusting parameters too much based on past performance can lead to poor out-of-sample results (Gauthier, P., Practical Quantitative Finance).
Conclusion
The Max Pain Strategy is a simple approach to identifying potential market entries based on volume spikes and significant price changes. It avoids repainting by relying solely on historical and current bar data, but it is inherently a lagging strategy that reacts to price and volume patterns after they have occurred. Therefore, the strategy can be effective in trending markets but may struggle in highly volatile, sideways markets.
The Most Powerful TQQQ EMA Crossover Trend Trading StrategyTQQQ EMA Crossover Strategy Indicator
Meta Title: TQQQ EMA Crossover Strategy - Enhance Your Trading with Effective Signals
Meta Description: Discover the TQQQ EMA Crossover Strategy, designed to optimize trading decisions with fast and slow EMA crossovers. Learn how to effectively use this powerful indicator for better trading results.
Key Features
The TQQQ EMA Crossover Strategy is a powerful trading tool that utilizes Exponential Moving Averages (EMAs) to identify potential entry and exit points in the market. Key features of this indicator include:
**Fast and Slow EMAs:** The strategy incorporates two EMAs, allowing traders to capture short-term trends while filtering out market noise.
**Entry and Exit Signals:** Automated signals for entering and exiting trades based on EMA crossovers, enhancing decision-making efficiency.
**Customizable Parameters:** Users can adjust the lengths of the EMAs, as well as take profit and stop loss multipliers, tailoring the strategy to their trading style.
**Visual Indicators:** Clear visual plots of the EMAs and exit points on the chart for easy interpretation.
How It Works
The TQQQ EMA Crossover Strategy operates by calculating two EMAs: a fast EMA (default length of 20) and a slow EMA (default length of 50). The core concept is based on the crossover of these two moving averages:
- When the fast EMA crosses above the slow EMA, it generates a *buy signal*, indicating a potential upward trend.
- Conversely, when the fast EMA crosses below the slow EMA, it produces a *sell signal*, suggesting a potential downward trend.
This method allows traders to capitalize on momentum shifts in the market, providing timely signals for trade execution.
Trading Ideas and Insights
Traders can leverage the TQQQ EMA Crossover Strategy in various market conditions. Here are some insights:
**Scalping Opportunities:** The strategy is particularly effective for scalping in volatile markets, allowing traders to make quick profits on small price movements.
**Swing Trading:** Longer-term traders can use this strategy to identify significant trend reversals and capitalize on larger price swings.
**Risk Management:** By incorporating customizable stop loss and take profit levels, traders can manage their risk effectively while maximizing potential returns.
How Multiple Indicators Work Together
While this strategy primarily relies on EMAs, it can be enhanced by integrating additional indicators such as:
- **Relative Strength Index (RSI):** To confirm overbought or oversold conditions before entering trades.
- **Volume Indicators:** To validate breakout signals, ensuring that price movements are supported by sufficient trading volume.
Combining these indicators provides a more comprehensive view of market dynamics, increasing the reliability of trade signals generated by the EMA crossover.
Unique Aspects
What sets this indicator apart is its simplicity combined with effectiveness. The reliance on EMAs allows for smoother signals compared to traditional moving averages, reducing false signals often associated with choppy price action. Additionally, the ability to customize parameters ensures that traders can adapt the strategy to fit their unique trading styles and risk tolerance.
How to Use
To effectively utilize the TQQQ EMA Crossover Strategy:
1. **Add the Indicator:** Load the script onto your TradingView chart.
2. **Set Parameters:** Adjust the fast and slow EMA lengths according to your trading preferences.
3. **Monitor Signals:** Watch for crossover points; enter trades based on buy/sell signals generated by the indicator.
4. **Implement Risk Management:** Set your stop loss and take profit levels using the provided multipliers.
Regularly review your trading performance and adjust parameters as necessary to optimize results.
Customization
The TQQQ EMA Crossover Strategy allows for extensive customization:
- **EMA Lengths:** Change the default lengths of both fast and slow EMAs to suit different time frames or market conditions.
- **Take Profit/Stop Loss Multipliers:** Adjust these values to align with your risk management strategy. For instance, increasing the take profit multiplier may yield larger gains but could also increase exposure to market fluctuations.
This flexibility makes it suitable for various trading styles, from aggressive scalpers to conservative swing traders.
Conclusion
The TQQQ EMA Crossover Strategy is an effective tool for traders seeking an edge in their trading endeavors. By utilizing fast and slow EMAs, this indicator provides clear entry and exit signals while allowing for customization to fit individual trading strategies. Whether you are a scalper looking for quick profits or a swing trader aiming for larger moves, this indicator offers valuable insights into market trends.
Incorporate it into your TradingView toolkit today and elevate your trading performance!
S&P 100 Option Expiration Week StrategyThe Option Expiration Week Strategy aims to capitalize on increased volatility and trading volume that often occur during the week leading up to the expiration of options on stocks in the S&P 100 index. This period, known as the option expiration week, culminates on the third Friday of each month when stock options typically expire in the U.S. During this week, investors in this strategy take a long position in S&P 100 stocks or an equivalent ETF from the Monday preceding the third Friday, holding until Friday. The strategy capitalizes on potential upward price pressures caused by increased option-related trading activity, rebalancing, and hedging practices.
The phenomenon leveraged by this strategy is well-documented in finance literature. Studies demonstrate that options expiration dates have a significant impact on stock returns, trading volume, and volatility. This effect is driven by various market dynamics, including portfolio rebalancing, delta hedging by option market makers, and the unwinding of positions by institutional investors (Stoll & Whaley, 1987; Ni, Pearson, & Poteshman, 2005). These market activities intensify near option expiration, causing price adjustments that may create short-term profitable opportunities for those aware of these patterns (Roll, Schwartz, & Subrahmanyam, 2009).
The paper by Johnson and So (2013), Returns and Option Activity over the Option-Expiration Week for S&P 100 Stocks, provides empirical evidence supporting this strategy. The study analyzes the impact of option expiration on S&P 100 stocks, showing that these stocks tend to exhibit abnormal returns and increased volume during the expiration week. The authors attribute these patterns to intensified option trading activity, where demand for hedging and arbitrage around options expiration causes temporary price adjustments.
Scientific Explanation
Research has found that option expiration weeks are marked by predictable increases in stock returns and volatility, largely due to the role of options market makers and institutional investors. Option market makers often use delta hedging to manage exposure, which requires frequent buying or selling of the underlying stock to maintain a hedged position. As expiration approaches, their activity can amplify price fluctuations. Additionally, institutional investors often roll over or unwind positions during expiration weeks, creating further demand for underlying stocks (Stoll & Whaley, 1987). This increased demand around expiration week typically leads to temporary stock price increases, offering profitable opportunities for short-term strategies.
Key Research and Bibliography
Johnson, T. C., & So, E. C. (2013). Returns and Option Activity over the Option-Expiration Week for S&P 100 Stocks. Journal of Banking and Finance, 37(11), 4226-4240.
This study specifically examines the S&P 100 stocks and demonstrates that option expiration weeks are associated with abnormal returns and trading volume due to increased activity in the options market.
Stoll, H. R., & Whaley, R. E. (1987). Program Trading and Expiration-Day Effects. Financial Analysts Journal, 43(2), 16-28.
Stoll and Whaley analyze how program trading and portfolio insurance strategies around expiration days impact stock prices, leading to temporary volatility and increased trading volume.
Ni, S. X., Pearson, N. D., & Poteshman, A. M. (2005). Stock Price Clustering on Option Expiration Dates. Journal of Financial Economics, 78(1), 49-87.
This paper investigates how option expiration dates affect stock price clustering and volume, driven by delta hedging and other option-related trading activities.
Roll, R., Schwartz, E., & Subrahmanyam, A. (2009). Options Trading Activity and Firm Valuation. Journal of Financial Markets, 12(3), 519-534.
The authors explore how options trading activity influences firm valuation, finding that higher options volume around expiration dates can lead to temporary price movements in underlying stocks.
Cao, C., & Wei, J. (2010). Option Market Liquidity and Stock Return Volatility. Journal of Financial and Quantitative Analysis, 45(2), 481-507.
This study examines the relationship between options market liquidity and stock return volatility, finding that increased liquidity needs during expiration weeks can heighten volatility, impacting stock returns.
Summary
The Option Expiration Week Strategy utilizes well-researched financial market phenomena related to option expiration. By positioning long in S&P 100 stocks or ETFs during this period, traders can potentially capture abnormal returns driven by option market dynamics. The literature suggests that options-related activities—such as delta hedging, position rollovers, and portfolio adjustments—intensify demand for underlying assets, creating short-term profit opportunities around these key dates.
Strategy: Candlestick Wick Analysis with Volume Conditions
This strategy focuses on analyzing the wicks (or shadows) of candlesticks to identify potential trading opportunities based on candlestick structure and volume. Based on these criteria, it places stop orders at the extremities of the wicks when certain conditions are met, thus increasing the chances of capturing significant price movements.
Trading Criteria
Volume Conditions:
The strategy checks if the volume of the current candle is higher than that of the previous three candles. This ensures that the observed price movement is supported by significant volume, increasing the probability that the price will continue in the same direction.
Wick Analysis:
Upper Wick:
If the upper wick of a candle represents more than 90% of its body size and is longer than the lower wick, this indicates that the price tested a resistance level before pulling back.
Order Placement: In this case, a Buy Stop order is placed at the upper extremity of the wick. This means that if the price rises back to this level, the order will be triggered, and the trader will take a buy position.
SL Management: A stop-loss is then placed below the lowest point of the same candle. This protects the trader by limiting losses if the price falls back after the order is triggered.
Lower Wick:
If the lower wick of a candle is longer than the upper wick and represents more than 90% of its body size, this indicates that the price tested a support level before rising.
Order Placement: In this case, a Sell Stop order is placed at the lower extremity of the wick. Thus, if the price drops back to this level, the order will be triggered, and the trader will take a sell position.
SL Management: A stop-loss is then placed above the highest point of the same candle. This ensures risk management by limiting losses if the price rebounds upward after the order is triggered.
Strategy Advantages
Responsiveness to Price Movements: The strategy is designed to detect significant price movements based on the market's reaction around support and resistance levels. By placing stop orders directly at the wick extremities, it allows capturing strong movements in the direction indicated by the candles.
Securing Positions: Using stop-losses positioned just above or below key levels (wicks) provides better risk management. If the market doesn't move as expected, the position is automatically closed with a limited loss.
Clear Visual Indicators: Symbols are displayed on the chart at the points where orders have been placed, making it easier to understand trading decisions. This helps to quickly identify the support or resistance levels tested by the price, as well as potential entry points.
Conclusion
The strategy is based on the idea that large wicks signal areas where buyers or sellers have tested significant price levels before temporarily retreating. By placing stop orders at the extremities of these wicks, the strategy allows capturing price movements when they confirm, while limiting risks through strategically placed stop-losses. It thus offers a balanced approach between capturing potential profit and managing risk.
This description emphasizes the idea of capturing significant market movements with stop orders while providing a clear explanation of the logic and risk management. It’s tailored for publication on TradingView and highlights the robustness of the strategy.
3-Bar (Outside Bar) Scanner with Table Display# 3-Bar (Outside Bar) Scanner with Table Display
## Overview
The **3-Bar (Outside Bar) Scanner with Table Display** is a custom TradingView indicator designed for traders who utilize **The Strat** methodology. This indicator scans for **3-bar (Outside Bar)** patterns across multiple symbols and displays the results in a convenient table format directly on your chart.
## Purpose
- **Efficient Multi-Symbol Scanning**: Monitor up to four symbols simultaneously for 3-bar patterns without the need to switch between charts.
- **Real-Time Updates**: The table dynamically updates with new price data, providing immediate insights into potential trading opportunities.
- **Visual Clarity**: Displays whether a 3-bar is bullish ("3 Up") or bearish ("3 Down"), helping you quickly interpret market sentiment.
## How It Works
- **Data Retrieval**: The indicator uses `request.security()` to fetch high, low, open, and close prices for the specified symbols and timeframe.
- **3-Bar Detection**:
- **Outside Bar Criteria**: Checks if the current candle's high is higher than the previous candle's high and the current low is lower than the previous low.
- **Direction Determination**:
- **"3 Up"**: If the candle closes higher than it opens (bullish candle).
- **"3 Down"**: If the candle closes lower than it opens (bearish candle).
- **Table Display**:
- The table shows the **Symbol**, **Timeframe**, and **State** ("3 Up", "3 Down", or blank if no pattern detected).
- Customizable colors and positioning to fit your chart's aesthetics.
## Best Use Cases
- **Rapid Market Analysis**: Ideal for traders needing a quick overview of multiple assets for potential 3-bar setups.
- **Strategic Decision-Making**: Helps identify key reversal or continuation patterns in alignment with **The Strat** principles.
- **Scalable Monitoring**: By utilizing TradingView's multi-chart layouts, you can expand monitoring beyond four symbols.
## Instructions for Use
### Adding the Indicator to Your Chart
1. **Copy the Code**: Use the provided Pine Script code for the indicator.
2. **Create a New Indicator**:
- In TradingView, click on **Pine Editor** at the bottom of the platform.
- Paste the code into the editor.
3. **Save and Add to Chart**:
- Click **Save** and give your indicator a name.
- Click **Add to Chart** to apply it.
### Customizing the Inputs
- **Symbols**:
- **Symbol 1**: Leave blank to use the current chart's symbol or enter a specific symbol (e.g., `AAPL`).
- **Symbol 2 to Symbol 4**: Enter additional symbols or leave them blank.
- **Timeframe**: Select your desired timeframe (e.g., `D` for Daily, `60` for 60-minute).
- **Table Colors**:
- Customize header and data colors for better visibility against your chart background.
### Interpreting the Table
- **Symbol**: Displays the symbol without the exchange prefix for clarity.
- **Timeframe**: Shows the timeframe applied to the analysis.
- **State**:
- **"3 Up"**: A bullish outside bar where the candle closed higher than it opened.
- **"3 Down"**: A bearish outside bar where the candle closed lower than it opened.
- **Blank**: No 3-bar pattern detected on the latest candle.
### Monitoring More Than Four Symbols
- **Multi-Chart Layout**:
- Use TradingView's multi-chart feature to display multiple charts within a single workspace.
- Apply the indicator to each chart. For example:
- **Four-Chart Grid**: Monitor up to 16 symbols by setting up four charts, each with the indicator tracking four symbols.
- **Steps**:
1. Arrange your workspace into a multi-chart layout.
2. Add the indicator to each chart.
3. Input different symbols into the indicator on each chart.
## Example Usage
Suppose you want to monitor the following symbols on a Daily timeframe:
- **Symbol 1**: *(Leave blank to use the current chart's symbol, e.g., `SPY`)*
- **Symbol 2**: `AAPL`
- **Symbol 3**: `TSLA`
- **Symbol 4**: `AMZN`
After adding the indicator and entering these symbols:
- **SPY**: The table shows "3 Up" in the State column, indicating a bullish outside bar.
- **AAPL**: No 3-bar pattern detected; the State column is blank.
- **TSLA**: The table shows "3 Down," indicating a bearish outside bar.
- **AMZN**: The table shows "3 Up," indicating another bullish outside bar.
This setup allows you to quickly assess which symbols are exhibiting significant patterns that may warrant further analysis or action.
## Notes
- **Customization**: Feel free to adjust the table's position and colors to suit your preferences.
- **Limitations**:
- Be aware of TradingView's limitations on `request.security()` calls, which may vary based on your subscription plan.
- The indicator is designed to monitor up to four symbols per instance due to these limitations.
- **Scalability**:
- By using multi-chart layouts, you can effectively monitor more symbols without overloading a single chart.
- This approach allows you to scale up your monitoring capabilities to fit your trading strategy.
## Conclusion
The **3-Bar (Outside Bar) Scanner with Table Display** is a valuable tool for traders who utilize **The Strat** methodology. It streamlines the process of identifying key 3-bar patterns across multiple symbols and timeframes, enhancing your ability to make informed trading decisions quickly.
By integrating this indicator into your trading routine, you can:
- Stay alert to significant market movements.
- Reduce the time spent manually scanning charts.
- Increase efficiency in executing your trading strategy.
---
Feel free to share this indicator with the Strat community. Feedback and suggestions are welcome to further enhance its functionality. Happy trading!
Multi-Step FlexiMA - Strategy [presentTrading]It's time to come back! hope I can not to be busy for a while.
█ Introduction and How It Is Different
The FlexiMA Variance Tracker is a unique trading strategy that calculates a series of deviations between the price (or another indicator source) and a variable-length moving average (MA). Unlike traditional strategies that use fixed-length moving averages, the length of the MA in this system varies within a defined range. The length changes dynamically based on a starting factor and an increment factor, creating a more adaptive approach to market conditions.
This strategy integrates Multi-Step Take Profit (TP) levels, allowing for partial exits at predefined price increments. It enables traders to secure profits at different stages of a trend, making it ideal for volatile markets where taking full profits at once might lead to missed opportunities if the trend continues.
BTCUSD 6hr Performance
█ Strategy, How It Works: Detailed Explanation
🔶 FlexiMA Concept
The FlexiMA (Flexible Moving Average) is at the heart of this strategy. Unlike traditional MA-based strategies where the MA length is fixed (e.g., a 50-period SMA), the FlexiMA varies its length with each iteration. This is done using a **starting factor** and an **increment factor**.
The formula for the moving average length at each iteration \(i\) is:
`MA_length_i = indicator_length * (starting_factor + i * increment_factor)`
Where:
- `indicator_length` is the user-defined base length.
- `starting_factor` is the initial multiplier of the base length.
- `increment_factor` increases the multiplier in each iteration.
Each iteration applies a **simple moving average** (SMA) to the chosen **indicator source** (e.g., HLC3) with a different length based on the above formula. The deviation between the current price and the moving average is then calculated as follows:
`deviation_i = price_current - MA_i`
These deviations are normalized using one of the following methods:
- **Max-Min normalization**:
`normalized_i = (deviation_i - min(deviations)) / range(deviations)`
- **Absolute Sum normalization**:
`normalized_i = deviation_i / sum(|deviation_i|)`
The **median** and **standard deviation (stdev)** of the normalized deviations are then calculated as follows:
`median = median(normalized deviations)`
For the standard deviation:
`stdev = sqrt((1/(N-1)) * sum((normalized_i - mean)^2))`
These values are plotted to provide a clear indication of how the price is deviating from its variable-length moving averages.
For more detail:
🔶 Multi-Step Take Profit
This strategy uses a multi-step take profit system, allowing for exits at different stages of a trade based on the percentage of price movement. Three take-profit levels are defined:
- Take Profit Level 1 (TP1): A small, quick profit level (e.g., 2%).
- Take Profit Level 2 (TP2): A medium-level profit target (e.g., 8%).
- Take Profit Level 3 (TP3): A larger, more ambitious target (e.g., 18%).
At each level, a corresponding percentage of the trade is exited:
- TP Percent 1: E.g., 30% of the position.
- TP Percent 2: E.g., 20% of the position.
- TP Percent 3: E.g., 15% of the position.
This approach ensures that profits are locked in progressively, reducing the risk of market reversals wiping out potential gains.
Local
🔶 Trade Entry and Exit Conditions
The entry and exit signals are determined by the interaction between the **SuperTrend Polyfactor Oscillator** and the **median** value of the normalized deviations:
- Long entry: The SuperTrend turns bearish, and the median value of the deviations is positive.
- Short entry: The SuperTrend turns bullish, and the median value is negative.
Similarly, trades are exited when the SuperTrend flips direction.
* The SuperTrend Toolkit is made by @EliCobra
█ Trade Direction
The strategy allows users to specify the desired trade direction:
- Long: Only long positions will be taken.
- Short: Only short positions will be taken.
- Both: Both long and short positions are allowed based on the conditions.
This flexibility allows the strategy to adapt to different market conditions and trading styles, whether you're looking to buy low and sell high, or sell high and buy low.
█ Usage
This strategy can be applied across various asset classes, including stocks, cryptocurrencies, and forex. The primary use case is to take advantage of market volatility by using a flexible moving average and multiple take-profit levels to capture profits incrementally as the market moves in your favor.
How to Use:
1. Configure the Inputs: Start by adjusting the **Indicator Length**, **Starting Factor**, and **Increment Factor** to suit your chosen asset. The defaults work well for most markets, but fine-tuning them can improve performance.
2. Set the Take Profit Levels: Adjust the three **TP levels** and their corresponding **percentages** based on your risk tolerance and the expected volatility of the market.
3. Monitor the Strategy: The SuperTrend and the FlexiMA variance tracker will provide entry and exit signals, automatically managing the positions and taking profits at the pre-set levels.
█ Default Settings
The default settings for the strategy are configured to provide a balanced approach that works across different market conditions:
Indicator Length (10):
This controls the base length for the moving average. A lower length makes the moving average more responsive to price changes, while a higher length smooths out fluctuations, making the strategy less sensitive to short-term price movements.
Starting Factor (1.0):
This determines the initial multiplier applied to the moving average length. A higher starting factor will increase the average length, making it slower to react to price changes.
Increment Factor (1.0):
This increases the moving average length in each iteration. A larger increment factor creates a wider range of moving average lengths, allowing the strategy to track both short-term and long-term trends simultaneously.
Normalization Method ('None'):
Three methods of normalization can be applied to the deviations:
- None: No normalization applied, using raw deviations.
- Max-Min: Normalizes based on the range between the maximum and minimum deviations.
- Absolute Sum: Normalizes based on the total sum of absolute deviations.
Take Profit Levels:
- TP1 (2%): A quick exit to capture small price movements.
- TP2 (8%): A medium-term profit target for stronger trends.
- TP3 (18%): A long-term target for strong price moves.
Take Profit Percentages:
- TP Percent 1 (30%): Exits 30% of the position at TP1.
- TP Percent 2 (20%): Exits 20% of the position at TP2.
- TP Percent 3 (15%): Exits 15% of the position at TP3.
Effect of Variables on Performance:
- Short Indicator Lengths: More responsive to price changes but prone to false signals.
- Higher Starting Factor: Slows down the response, useful for longer-term trend following.
- Higher Increment Factor: Widens the variability in moving average lengths, making the strategy adapt to both short-term and long-term price trends.
- Aggressive Take Profit Levels: Allows for quick profit-taking in volatile markets but may exit positions prematurely in strong trends.
The default configuration offers a moderate balance between short-term responsiveness and long-term trend capturing, suitable for most traders. However, users can adjust these variables to optimize performance based on market conditions and personal preferences.
Larry Conners SMTP StrategyThe Spent Market Trading Pattern is a strategy developed by Larry Connors, typically used for short-term mean reversion trading. This strategy takes advantage of the exhaustion in market momentum by entering trades when the market is perceived as "spent" after extended trends or extreme moves, expecting a short-term reversal. Connors uses indicators like RSI (Relative Strength Index) and price action patterns to identify these opportunities.
Key Elements of the Strategy:
Overbought/Oversold Conditions: The strategy looks for extreme overbought or oversold conditions, often indicated by low RSI values (below 30 for oversold and above 70 for overbought).
Mean Reversion: Connors believed that markets, especially in short-term scenarios, tend to revert to the mean after periods of strong momentum. The "spent" market is assumed to have expended its energy, making a reversal likely.
Entry Signals:
In an uptrend, a stock or market index making a significant number of consecutive up days (e.g., 5-7 consecutive days with higher closes) indicates overbought conditions.
In a downtrend, a similar number of consecutive down days indicates oversold conditions.
Reversal Anticipation: Once an extreme in price movement is identified (such as consecutive gains or losses), the strategy places trades anticipating a reversion to the mean, which is usually the 5-day or 10-day moving average.
Exit Points: Trades are exited when prices move back toward their mean or when the extreme conditions dissipate, usually based on RSI or moving average thresholds.
Why the Strategy Works:
Human Psychology: The strategy capitalizes on the fact that markets, in the short term, often behave irrationally due to the emotions of traders—fear and greed lead to overextended moves.
Mean Reversion Tendency: Financial markets often exhibit mean-reverting behavior, where prices temporarily deviate from their historical norms but eventually return. Short-term exhaustion after a strong rally or sell-off offers opportunities for quick profits.
Overextended Moves: Markets that rise or fall too quickly tend to become overextended, as buyers or sellers get exhausted, making reversals more probable. Connors’ approach identifies these moments when the market is "spent" and ripe for a reversal.
Risks of the Spent Market Trading Pattern Strategy:
Trend Continuation: One of the key risks is that the market may not revert as expected and instead continues in the same direction. In trending markets, mean-reversion strategies can suffer because strong trends can last longer than anticipated.
False Signals: The strategy relies heavily on technical indicators like RSI, which can produce false signals in volatile or choppy markets. There can be times when a market appears "spent" but continues in its current direction.
Market Timing: Mean reversion strategies often require precise market timing. If the entry or exit points are mistimed, it can lead to losses, especially in short-term trades where small price movements can significantly impact profitability.
High Transaction Costs: This strategy requires frequent trades, which can lead to higher transaction costs, especially in markets with wide bid-ask spreads or high commissions.
Conclusion:
Larry Connors’ Spent Market Trading Pattern strategy is built on the principle of mean reversion, leveraging the concept that markets tend to revert to a mean after extreme moves. While effective in certain conditions, such as range-bound markets, it carries risks—especially during strong trends—where price momentum may not reverse as quickly as expected.
For a more in-depth explanation, Larry Connors’ books such as "Short-Term Trading Strategies That Work" provide a comprehensive guide to this and other strategies .
Connors VIX Reversal III invented by Dave LandryThis strategy is based on trading signals derived from the behavior of the Volatility Index (VIX) relative to its 10-day moving average. The rules are split into buying and selling conditions:
Buy Conditions:
The VIX low must be above its 10-day moving average.
The VIX must close at least 10% above its 10-day moving average.
If both conditions are met, a buy signal is generated at the market's close.
Sell Conditions:
The VIX high must be below its 10-day moving average.
The VIX must close at least 10% below its 10-day moving average.
If both conditions are met, a sell signal is generated at the market's close.
Exit Conditions:
For long positions, the strategy exits when the VIX trades intraday below its previous day’s 10-day moving average.
For short positions, the strategy exits when the VIX trades intraday above its previous day’s 10-day moving average.
This strategy is primarily a mean-reversion strategy, where the market is expected to revert to a more normal state after the VIX exhibits extreme behavior (i.e., large deviations from its moving average).
About Dave Landry
Dave Landry is a well-known figure in the world of trading, particularly in technical analysis. He is an author, trader, and educator, best known for his work on swing trading strategies. Landry focuses on trend-following and momentum-based techniques, teaching traders how to capitalize on shorter-term price swings in the market. He has written books like "Dave Landry on Swing Trading" and "The Layman's Guide to Trading Stocks," which emphasize practical, actionable trading strategies.
About Connors Research
Connors Research is a financial research firm known for its quantitative research in financial markets. Founded by Larry Connors, the firm specializes in developing high-probability trading systems based on historical market behavior. Connors’ work is widely respected for its data-driven approach, including systems like the RSI(2) strategy, which focuses on short-term mean reversion. The firm also provides trading education and tools for institutional and retail traders alike, emphasizing strategies that can be backtested and quantified.
Risks of the Strategy
While this strategy may appear to offer promising opportunities to exploit extreme VIX movements, it carries several risks:
Market Volatility: The VIX itself is a measure of market volatility, meaning the strategy can be exposed to sudden and unpredictable market swings. This can result in whipsaws, where positions are opened and closed in rapid succession due to sharp reversals in the VIX.
Overfitting: Strategies based on specific conditions like the VIX closing 10% above or below its moving average can be subject to overfitting, meaning they work well in historical tests but may underperform in live markets. This is a common issue in quantitative trading systems that are not adaptable to changing market conditions .
Mean-Reversion Assumption: The core assumption behind this strategy is that markets will revert to their mean after extreme movements. However, during periods of sustained trends (e.g., market crashes or rallies), this assumption may break down, leading to prolonged drawdowns.
Liquidity and Slippage: Depending on the asset being traded (e.g., S&P 500 futures, ETFs), liquidity issues or slippage could occur when executing trades at market close, particularly in volatile conditions. This could increase costs or worsen trade execution.
Scientific Explanation of the Strategy
The VIX is often referred to as the "fear gauge" because it measures the market's expectations of volatility based on options prices. Research has shown that the VIX tends to spike during periods of market stress and revert to lower levels when conditions stabilize . Mean reversion strategies like this one assume that extreme VIX levels are unsustainable in the long run, which aligns with findings from academic literature on volatility and market behavior.
Studies have found that the VIX is inversely correlated with stock market returns, meaning that higher VIX levels often correspond to lower stock prices and vice versa . By using the VIX’s relationship with its 10-day moving average, this strategy aims to capture reversals in market sentiment. The 10% threshold is designed to identify moments when the VIX is significantly deviating from its norm, signaling a potential reversal.
However, academic research also highlights the limitations of relying on the VIX alone for trading signals. The VIX does not predict market direction, only volatility, meaning that it cannot indicate the magnitude of price movements . Furthermore, extreme VIX levels can persist longer than expected, particularly during financial crises.
In conclusion, while the strategy is grounded in well-established financial principles (e.g., mean reversion and the relationship between volatility and market performance), it carries inherent risks and should be used with caution. Backtesting and careful risk management are essential before applying this strategy in live markets.
Larry Conners Vix Reversal II Strategy (approx.)This Pine Script™ strategy is a modified version of the original Larry Connors VIX Reversal II Strategy, designed for short-term trading in market indices like the S&P 500. The strategy utilizes the Relative Strength Index (RSI) of the VIX (Volatility Index) to identify potential overbought or oversold market conditions. The logic is based on the assumption that extreme levels of market volatility often precede reversals in price.
How the Strategy Works
The strategy calculates the RSI of the VIX using a 25-period lookback window. The RSI is a momentum oscillator that measures the speed and change of price movements. It ranges from 0 to 100 and is often used to identify overbought and oversold conditions in assets.
Overbought Signal: When the RSI of the VIX rises above 61, it signals a potential overbought condition in the market. The strategy looks for a RSI downtick (i.e., when RSI starts to fall after reaching this level) as a trigger to enter a long position.
Oversold Signal: Conversely, when the RSI of the VIX drops below 42, the market is considered oversold. A RSI uptick (i.e., when RSI starts to rise after hitting this level) serves as a signal to enter a short position.
The strategy holds the position for a minimum of 7 days and a maximum of 12 days, after which it exits automatically.
Larry Connors: Background
Larry Connors is a prominent figure in quantitative trading, specializing in short-term market strategies. He is the co-author of several influential books on trading, such as Street Smarts (1995), co-written with Linda Raschke, and How Markets Really Work. Connors' work focuses on developing rules-based systems using volatility indicators like the VIX and oscillators such as RSI to exploit mean-reversion patterns in financial markets.
Risks of the Strategy
While the Larry Connors VIX Reversal II Strategy can capture reversals in volatile market environments, it also carries significant risks:
Over-Optimization: This modified version adjusts RSI levels and holding periods to fit recent market data. If market conditions change, the strategy might no longer be effective, leading to false signals.
Drawdowns in Trending Markets: This is a mean-reversion strategy, designed to profit when markets return to a previous mean. However, in strongly trending markets, especially during extended bull or bear phases, the strategy might generate losses due to early entries or exits.
Volatility Risk: Since this strategy is linked to the VIX, an instrument that reflects market volatility, large spikes in volatility can lead to unexpected, fast-moving market conditions, potentially leading to larger-than-expected losses.
Scientific Literature and Supporting Research
The use of RSI and VIX in trading strategies has been widely discussed in academic research. RSI is one of the most studied momentum oscillators, and numerous studies show that it can capture mean-reversion effects in various markets, including equities and derivatives.
Wong et al. (2003) investigated the effectiveness of technical trading rules such as RSI, finding that it has predictive power in certain market conditions, particularly in mean-reverting markets .
The VIX, often referred to as the “fear index,” reflects market expectations of volatility and has been a focal point in research exploring volatility-based strategies. Whaley (2000) extensively reviewed the predictive power of VIX, noting that extreme VIX readings often correlate with turning points in the stock market .
Modified Version of Original Strategy
This script is a modified version of Larry Connors' original VIX Reversal II strategy. The key differences include:
Adjusted RSI period to 25 (instead of 2 or 4 commonly used in Connors’ other work).
Overbought and oversold levels modified to 61 and 42, respectively.
Specific holding period (7 to 12 days) is predefined to reduce holding risk.
These modifications aim to adapt the strategy to different market environments, potentially enhancing performance under specific volatility conditions. However, as with any system, constant evaluation and testing in live markets are crucial.
References
Wong, W. K., Manzur, M., & Chew, B. K. (2003). How rewarding is technical analysis? Evidence from Singapore stock market. Applied Financial Economics, 13(7), 543-551.
Whaley, R. E. (2000). The investor fear gauge. Journal of Portfolio Management, 26(3), 12-17.
JordanSwindenLibraryLibrary "JordanSwindenLibrary"
TODO: add library description here
getDecimals()
Calculates how many decimals are on the quote price of the current market
Returns: The current decimal places on the market quote price
getPipSize(multiplier)
Calculates the pip size of the current market
Parameters:
multiplier (int) : The mintick point multiplier (1 by default, 10 for FX/Crypto/CFD but can be used to override when certain markets require)
Returns: The pip size for the current market
truncate(number, decimalPlaces)
Truncates (cuts) excess decimal places
Parameters:
number (float) : The number to truncate
decimalPlaces (simple float) : (default=2) The number of decimal places to truncate to
Returns: The given number truncated to the given decimalPlaces
toWhole(number)
Converts pips into whole numbers
Parameters:
number (float) : The pip number to convert into a whole number
Returns: The converted number
toPips(number)
Converts whole numbers back into pips
Parameters:
number (float) : The whole number to convert into pips
Returns: The converted number
getPctChange(value1, value2, lookback)
Gets the percentage change between 2 float values over a given lookback period
Parameters:
value1 (float) : The first value to reference
value2 (float) : The second value to reference
lookback (int) : The lookback period to analyze
Returns: The percent change over the two values and lookback period
random(minRange, maxRange)
Wichmann–Hill Pseudo-Random Number Generator
Parameters:
minRange (float) : The smallest possible number (default: 0)
maxRange (float) : The largest possible number (default: 1)
Returns: A random number between minRange and maxRange
bullFib(priceLow, priceHigh, fibRatio)
Calculates a bullish fibonacci value
Parameters:
priceLow (float) : The lowest price point
priceHigh (float) : The highest price point
fibRatio (float) : The fibonacci % ratio to calculate
Returns: The fibonacci value of the given ratio between the two price points
bearFib(priceLow, priceHigh, fibRatio)
Calculates a bearish fibonacci value
Parameters:
priceLow (float) : The lowest price point
priceHigh (float) : The highest price point
fibRatio (float) : The fibonacci % ratio to calculate
Returns: The fibonacci value of the given ratio between the two price points
getMA(length, maType)
Gets a Moving Average based on type (! MUST BE CALLED ON EVERY TICK TO BE ACCURATE, don't place in scopes)
Parameters:
length (simple int) : The MA period
maType (string) : The type of MA
Returns: A moving average with the given parameters
barsAboveMA(lookback, ma)
Counts how many candles are above the MA
Parameters:
lookback (int) : The lookback period to look back over
ma (float) : The moving average to check
Returns: The bar count of how many recent bars are above the MA
barsBelowMA(lookback, ma)
Counts how many candles are below the MA
Parameters:
lookback (int) : The lookback period to look back over
ma (float) : The moving average to reference
Returns: The bar count of how many recent bars are below the EMA
barsCrossedMA(lookback, ma)
Counts how many times the EMA was crossed recently (based on closing prices)
Parameters:
lookback (int) : The lookback period to look back over
ma (float) : The moving average to reference
Returns: The bar count of how many times price recently crossed the EMA (based on closing prices)
getPullbackBarCount(lookback, direction)
Counts how many green & red bars have printed recently (ie. pullback count)
Parameters:
lookback (int) : The lookback period to look back over
direction (int) : The color of the bar to count (1 = Green, -1 = Red)
Returns: The bar count of how many candles have retraced over the given lookback & direction
getBodySize()
Gets the current candle's body size (in POINTS, divide by 10 to get pips)
Returns: The current candle's body size in POINTS
getTopWickSize()
Gets the current candle's top wick size (in POINTS, divide by 10 to get pips)
Returns: The current candle's top wick size in POINTS
getBottomWickSize()
Gets the current candle's bottom wick size (in POINTS, divide by 10 to get pips)
Returns: The current candle's bottom wick size in POINTS
getBodyPercent()
Gets the current candle's body size as a percentage of its entire size including its wicks
Returns: The current candle's body size percentage
isHammer(fib, colorMatch)
Checks if the current bar is a hammer candle based on the given parameters
Parameters:
fib (float) : (default=0.382) The fib to base candle body on
colorMatch (bool) : (default=false) Does the candle need to be green? (true/false)
Returns: A boolean - true if the current bar matches the requirements of a hammer candle
isStar(fib, colorMatch)
Checks if the current bar is a shooting star candle based on the given parameters
Parameters:
fib (float) : (default=0.382) The fib to base candle body on
colorMatch (bool) : (default=false) Does the candle need to be red? (true/false)
Returns: A boolean - true if the current bar matches the requirements of a shooting star candle
isDoji(wickSize, bodySize)
Checks if the current bar is a doji candle based on the given parameters
Parameters:
wickSize (float) : (default=2) The maximum top wick size compared to the bottom (and vice versa)
bodySize (float) : (default=0.05) The maximum body size as a percentage compared to the entire candle size
Returns: A boolean - true if the current bar matches the requirements of a doji candle
isBullishEC(allowance, rejectionWickSize, engulfWick)
Checks if the current bar is a bullish engulfing candle
Parameters:
allowance (float) : (default=0) How many POINTS to allow the open to be off by (useful for markets with micro gaps)
rejectionWickSize (float) : (default=disabled) The maximum rejection wick size compared to the body as a percentage
engulfWick (bool) : (default=false) Does the engulfing candle require the wick to be engulfed as well?
Returns: A boolean - true if the current bar matches the requirements of a bullish engulfing candle
isBearishEC(allowance, rejectionWickSize, engulfWick)
Checks if the current bar is a bearish engulfing candle
Parameters:
allowance (float) : (default=0) How many POINTS to allow the open to be off by (useful for markets with micro gaps)
rejectionWickSize (float) : (default=disabled) The maximum rejection wick size compared to the body as a percentage
engulfWick (bool) : (default=false) Does the engulfing candle require the wick to be engulfed as well?
Returns: A boolean - true if the current bar matches the requirements of a bearish engulfing candle
isInsideBar()
Detects inside bars
Returns: Returns true if the current bar is an inside bar
isOutsideBar()
Detects outside bars
Returns: Returns true if the current bar is an outside bar
barInSession(sess, useFilter)
Determines if the current price bar falls inside the specified session
Parameters:
sess (simple string) : The session to check
useFilter (bool) : (default=true) Whether or not to actually use this filter
Returns: A boolean - true if the current bar falls within the given time session
barOutSession(sess, useFilter)
Determines if the current price bar falls outside the specified session
Parameters:
sess (simple string) : The session to check
useFilter (bool) : (default=true) Whether or not to actually use this filter
Returns: A boolean - true if the current bar falls outside the given time session
dateFilter(startTime, endTime)
Determines if this bar's time falls within date filter range
Parameters:
startTime (int) : The UNIX date timestamp to begin searching from
endTime (int) : the UNIX date timestamp to stop searching from
Returns: A boolean - true if the current bar falls within the given dates
dayFilter(monday, tuesday, wednesday, thursday, friday, saturday, sunday)
Checks if the current bar's day is in the list of given days to analyze
Parameters:
monday (bool) : Should the script analyze this day? (true/false)
tuesday (bool) : Should the script analyze this day? (true/false)
wednesday (bool) : Should the script analyze this day? (true/false)
thursday (bool) : Should the script analyze this day? (true/false)
friday (bool) : Should the script analyze this day? (true/false)
saturday (bool) : Should the script analyze this day? (true/false)
sunday (bool) : Should the script analyze this day? (true/false)
Returns: A boolean - true if the current bar's day is one of the given days
atrFilter(atrValue, maxSize)
Parameters:
atrValue (float)
maxSize (float)
tradeCount()
Calculate total trade count
Returns: Total closed trade count
isLong()
Check if we're currently in a long trade
Returns: True if our position size is positive
isShort()
Check if we're currently in a short trade
Returns: True if our position size is negative
isFlat()
Check if we're currentlyflat
Returns: True if our position size is zero
wonTrade()
Check if this bar falls after a winning trade
Returns: True if we just won a trade
lostTrade()
Check if this bar falls after a losing trade
Returns: True if we just lost a trade
maxDrawdownRealized()
Gets the max drawdown based on closed trades (ie. realized P&L). The strategy tester displays max drawdown as open P&L (unrealized).
Returns: The max drawdown based on closed trades (ie. realized P&L). The strategy tester displays max drawdown as open P&L (unrealized).
totalPipReturn()
Gets the total amount of pips won/lost (as a whole number)
Returns: Total amount of pips won/lost (as a whole number)
longWinCount()
Count how many winning long trades we've had
Returns: Long win count
shortWinCount()
Count how many winning short trades we've had
Returns: Short win count
longLossCount()
Count how many losing long trades we've had
Returns: Long loss count
shortLossCount()
Count how many losing short trades we've had
Returns: Short loss count
breakEvenCount(allowanceTicks)
Count how many break-even trades we've had
Parameters:
allowanceTicks (float) : Optional - how many ticks to allow between entry & exit price (default 0)
Returns: Break-even count
longCount()
Count how many long trades we've taken
Returns: Long trade count
shortCount()
Count how many short trades we've taken
Returns: Short trade count
longWinPercent()
Calculate win rate of long trades
Returns: Long win rate (0-100)
shortWinPercent()
Calculate win rate of short trades
Returns: Short win rate (0-100)
breakEvenPercent(allowanceTicks)
Calculate break even rate of all trades
Parameters:
allowanceTicks (float) : Optional - how many ticks to allow between entry & exit price (default 0)
Returns: Break-even win rate (0-100)
averageRR()
Calculate average risk:reward
Returns: Average winning trade divided by average losing trade
unitsToLots(units)
(Forex) Convert the given unit count to lots (multiples of 100,000)
Parameters:
units (float) : The units to convert into lots
Returns: Units converted to nearest lot size (as float)
getFxPositionSize(balance, risk, stopLossPips, fxRate, lots)
(Forex) Calculate fixed-fractional position size based on given parameters
Parameters:
balance (float) : The account balance
risk (float) : The % risk (whole number)
stopLossPips (float) : Pip distance to base risk on
fxRate (float) : The conversion currency rate (more info below in library documentation)
lots (bool) : Whether or not to return the position size in lots rather than units (true by default)
Returns: Units/lots to enter into "qty=" parameter of strategy entry function
EXAMPLE USAGE:
string conversionCurrencyPair = (strategy.account_currency == syminfo.currency ? syminfo.tickerid : strategy.account_currency + syminfo.currency)
float fx_rate = request.security(conversionCurrencyPair, timeframe.period, close )
if (longCondition)
strategy.entry("Long", strategy.long, qty=zen.getFxPositionSize(strategy.equity, 1, stopLossPipsWholeNumber, fx_rate, true))
skipTradeMonteCarlo(chance, debug)
Checks to see if trade should be skipped to emulate rudimentary Monte Carlo simulation
Parameters:
chance (float) : The chance to skip a trade (0-1 or 0-100, function will normalize to 0-1)
debug (bool) : Whether or not to display a label informing of the trade skip
Returns: True if the trade is skipped, false if it's not skipped (idea being to include this function in entry condition validation checks)
fillCell(tableID, column, row, title, value, bgcolor, txtcolor, tooltip)
This updates the given table's cell with the given values
Parameters:
tableID (table) : The table ID to update
column (int) : The column to update
row (int) : The row to update
title (string) : The title of this cell
value (string) : The value of this cell
bgcolor (color) : The background color of this cell
txtcolor (color) : The text color of this cell
tooltip (string)
Returns: Nothing.